c语言求1-1000内素数问题
发布网友
发布时间:2024-10-10 05:39
我来回答
共2个回答
热心网友
时间:2024-11-05 13:58
看看你有多粗心!!!!
if(fun(i));//看这里,看到什么没有,你多了一个分号
{
printf("%d ",i);
line++;
}
看到没有,if(fun(i));由于多了这个分号,所以不管fun(i)返回值是0还是1,都会执行下面的printf函数,所以就会出现输出全部的1000个数!!!
热心网友
时间:2024-11-05 13:57
//program4.ccp
#include <iomanip.h>
void main()
{
const int n=1000;
int i=2,j,count=0;
int sieve[n+1];
for (j=1;j<n+1;j++) sieve[j]=j;
while (i<n+1)
{cout<<setw(5)<<sieve[i];
count++;
if(count%15==0 ) cout<<endl;
for(j=i;j<n+1;j+=i)
sieve[j]=1;
while(sieve[i]==1)i++;
}
}