第二个for循环中条件应该是 b*b<=a
别的地方也有些小错。。
给你个正确代码吧~
===..==
正确代码:
#include
int main()
{
int a,b,c;
for (a=2;a<=1000;a++)
{
for (b=2;b*b<=a;b++)
{
if (a%b==0) break;
}
if (a%b!=0||b>=a) printf("%d ",a);
}
return 0;
}
{for(b=2;b<=1000;b++) {if(a%b==0)break;} if(a==b) c=0; if(c==0) printf("%d",a);} }改成 { for(b=2;b<=1000;b++) { if(a!=b&&a%b==0){c=0,break;} } if(c==0) break;printf("%d",a); } 注意花括号的运用!另外你这个程序效率很不高!