我的C程序怎么了?

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:18:51
各位高手 我写了个求1到N之间所有非素数的程序

可是输入N大于374之后就回丢掉小的非素数!!是怎么回事啊?

#include<stdio.h>
void main()
{
int a,i,n;
i=1;
scanf("%d",&n);
while(i<=n)
{
a=i-1;
while(a>1)
{
if(i%a==0)
{
printf("%d\n",i);
goto b;
}
else
a--;
}
b: i++;

}
}

不会丢掉的.只是显示不出来而已.因为你一直在往下输出嘛.命令行装不下啦.就不显示开始显示的那些了.
printf("%d\n",i);
改成 printf("%d ",i);
你就可以看到前面的那些小的了.