我写了以下的代码,但运行结果是:1000以内的素数有:1,2,3, ——明显不对。特来求救,望高手指点一二,谢谢!
#include <iostream.h>
void main()
{
int a,i,leap=1;
cout<<"1000以内的素数有:";
for(a=1;a<=1000;a++)
{for(i=2;i<a;i++)
if(a%i==0) leap=0;
if(leap) cout<<a<<",";
}
}
參考答案:#include <iostream.h>
void main()
{
int a,i,leap;
cout<<"1000以内的素数有:";
for(a=1;a<=1000;a++)
{
leap=1;//在每次重新判断一个数是否素数的时候leap要重置为1
for(i=2;i<a;i++)
if(a%i==0) leap=0;
if(leap) cout<<a<<",";
}
}