用c语言编写一个程序求100-200之间的所有素数,并输出素数。而下面这个程序怎么运行不出正确结果#include<stdio.h>
#include<math.h>
int main()
{
int n,k,m,i;//n为数,k为除数,m用来表示根号n,i用来统计素数的个数
i=0;
for(n=100;n<200;n+=2)
{
m=sqrt(n);
for(k=2;k<=m;k++)
{
if(n%k==0)
break;
else if(k>m)
{
printf("输出的素数:%d\n",n);
i++;
if(i%5==0)//按5个一行输出
printf("\n");
}
}
}
printf("素数的个数为:%d\n",i);
return 0;
}
那我改后为什么还是运行没有正确答案啊?
追答你的代码逻辑有问题,我帮你修改了一下。
#include
#include
int main()
{
int n,k,m,i;//n为数,k为除数,m用来表示根号n,i用来统计素数的个数
i=0;
for(n=101;nm) {
printf("输出的素数:%d\n",n);
i++;
if(i%5==0)//按5个一行输出
printf("\n");
}
}
printf("素数的个数为:%d\n",i);
getchar();
return 0;
}