请问,我这个用循环输出0-200的素数哪里出错了呢,他为什么啥都不显示呀?
在第一次循环的时候j值为0,而除数不能为0!所以才有错误
如果你改成i、j全部赋值为2来重新编译,那么又因为你把i、j放在外面赋值,会致使再for循环结束后,第二个循环的时候,它的i、j值是从前一次开始进行循环!
参考代码:
#include <iostream>
using namespace std;
int main()
{
int i;
int j;
for(i=2;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(j==i)
cout<<i<<endl;
}
//system("pause");
return 0;
}
结果:
!i%j==0
这一句加括号吧
优先级好像乱了
!(i%j==0)