C语言 找出3-100的全部素数 不知道哪里错了QAQ求大神详解 拜托拜托

原问题:C语言 找出3-100的全部素数 不知道哪里错了QAQ求大神详解 拜托拜托
分类:编程开发 > 最后更新时间:【2016-12-21 22:08:27】
问题补充:

#include <stdio.h>

int main()

{

int n,k,i,m=0;

for(n=3;n<=100;n++)

{for(i=2;i<=k-1;i++)

{k=n%i;

if(k==0)break;

else printf("%d ",n);

}

m=m+1;

if(m%10==0)printf("\n");

}

printf("\n");

return 0;

}

输出的话 什么东西都没有QAQ

最佳答案

改好的程序你看下

#include <stdio.h>
int main()
{
int n, k, i, m = 0;
for(n = 3; n <= 100; n++)
{
for(i = 2; i <= n - 1; i++) //循环不对,这里可用sqrt(n)
{
k = n % i;
if(k == 0)break;
// else printf("%d ", n); 这个判断也错的
}
if (i==n) //这个才对
{
printf("%d ", n);
m = m + 1;
if(m % 10 == 0)printf("\n");
}
}
printf("\n");
return 0;
}

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
12

分享到:

其他回答

其它网友回答:
第二个for循环 应该是i≤n-1,而且素数的输出应该在第一个for循环里而不是第二个for循环里,逻辑有问题,最后,算法有可以优化的地方