C语言 编程 输出100~300之间所有素数

#include<stdio.h> #include<math.h> main() { int m,i,j,k; j=0; for (m=101;m<300;++m) { k=sqrt(m); for(i=2;i<k;++i) if (m%i==0) break; if (i>k) j=j+m; } printf("%d",j); } } 求大神指教啊 我输出的结果为 0 啊..

不用弄得这么复杂的,定义leam来判断就行了。一开始定义leam=1,如果一个整数能被除了1和自身的数整除的话就把leam定义为0;当leam为1的时候就输出这个整数。你上面有好多地方错误。下面是正确的
#include
"stdio.h"
void
main()
{
int
i,k,leam=1;
for(i=100;i<=300;i++)
{
for(k=2;k<i;k++)
{
if(i%k==0)
leam=0;
}
if(leam==1)
printf("%d\n",i);
leam=1;
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜