C语言输出每5个换行问题

下面是一个简单求素数的程序,前面换行都成功,为什么输出47以后自动换了两行?
main()
{
int n,i,a=0;
for(n=2;n<=60;n++)
{
for(i=2;i<=n;i++)
if(n%i==0) break;
if(i==n)
{
printf("%d\t",n);
a++;
}
if(a%5==0) printf("\n");
}
}

第1个回答  2010-12-21
给你改了点

int main()
{
int n,i,a=0;
int flag = 0;
for(n=2;n<=60;n++)
{
for(i=2;i<=n;i++)
if(n%i==0) break;
if(i==n)
{
printf("%d\t",n);
a++;
flag = 0;
}
if(a%5==0 && !flag)
{
flag = 1;
printf("\n");
}
}

printf("\n");

return 0;
}本回答被提问者采纳
相似回答