我的绝对可以,其实还有个错误的:
#include
int main(void)
{
int a,b,flag,n;
flag=0;
freopen("d:\\i.txt","w",stdout);
scanf("%d",&n);
for(a=2;a<=n;a++)
{
flag=1;;//每次进入循环判断是否为素数的时候,先把flag置1。
for(b=2;b if((a%b)==0)
flag=0;
if(flag==1) //判断应该是flag==1(比较),而不是flag=1(赋值),这是初学者常犯的错误
printf("%d ",a);
}
return 0;
}
//还有我老师叫我改这个程序,让它不必要算那么多,我想只要把N的平方根以下的去除就可以了
把
for(b=2;b改成
for(b=2;b
#include
int main(void)
{
int a,b,flag,n;
flag=0;
freopen("i.txt","w",stdout);
scanf("%d",&n);
for(a=2;a<=n;a++)
{
flag=1;//每次进入循环判断是否为素数的时候,先把flag置1。
for(b=2;bif((a%b)==0)//建议这里直接break循环好了,因为已经是合数,可以提高效率。
flag=0;
if(flag=1)
printf("%d ",a);
}
return 0;
}