问题在哪里, 为什么运行没有错误,但就是不出结果呢

Mr_Chen__ios专栏 2012-12-26 10:11:32
#include <stdio.h>
void main()
{
int n=0,m=0,b=0,k=0;
scanf("%d",&n);
for (m=1;m<n+1;m++)
{
for (k=2;k<=n;k++)
{
b=m%k;
while (b==0)
break;
}
if(k==n)
printf("%d",m);
}
}

...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

#include <stdio.h>
void main()
{
int n=0,m=0,b=0,k=0;
scanf("%d",&n);
for (m=1;m<=n;m++)
{
for (k=2;k<=m;k++)
{
b=m%k;
if (b==0)
break;
}
if(k==m)
printf("%d",m);
}
}
derekrose 2012-12-26
  • 打赏
  • 举报
回复
while和if有什么区别,楼主
xxb249 2012-12-26
  • 打赏
  • 举报
回复
断点调试是程序员最基本的而且必须掌握的技能
jaxdong 2012-12-26
  • 打赏
  • 举报
回复
以前写的一个判读素数的函数,楼主看看有帮助没。

int prime_number(long n)
{
     long i=3,temp=0,flag=1,qrt=0;

     qrt=(int)sqrt((float)n);

     if (n<=2)
         return 0;
     else
         while(flag==1&&i<=qrt)
              if(n%i==0)
                  flag=0;
              else
                  i++;
         return flag;
}
fcgll520 2012-12-26
  • 打赏
  • 举报
回复
#include <stdio.h> void main() { int n=0,m=0,b=0,k=0; scanf("%d",&n); for (m=1;m<n+1;m++) { for (k=2;k<m;k++) { b=m%k; if (b==0) break; } if(k==m) printf("%d",m); } } 应该可以。
Mr_Chen__ios专栏 2012-12-26
  • 打赏
  • 举报
回复
引用 3 楼 Zoelov 的回复:
代码中的while循环我不明白你在这里干什么用,当b==0时,那么就break,但此时跳出的是while循环,并不是for循环啊,你是不是想要跳出内层for循环,然后在k和n比较呢?
输出1~n的素数
Zoelov 2012-12-26
  • 打赏
  • 举报
回复
代码中的while循环我不明白你在这里干什么用,当b==0时,那么就break,但此时跳出的是while循环,并不是for循环啊,你是不是想要跳出内层for循环,然后在k和n比较呢?
hznat 2012-12-26
  • 打赏
  • 举报
回复
目测代码,输入2时,会有2输出。
abc41106 2012-12-26
  • 打赏
  • 举报
回复
楼主先说一下你写这段代码是用来干什么的? 目前判断是输出1~n的素数
#include <stdio.h>
void main()
{
int n=0,m=0,b=0,k=0;
scanf("%d",&n);
for (m=1;m<=n;m++)
{
for (k=2;k<=m;k++)
{
b=m%k;
if (b==0)
break;
}
if(k==m)
printf("%d",m);
}
}
赵4老师 2012-12-26
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧