求小于n的所有素数,按照每行10个显示出来。输出和题目一样,但是为什么不对呢?
问题描述:
求小于n的所有素数,按照每行10个显示出来。
Input
输入整数n(n<10000)。
Output
每行10个依次输出n以内的所有素数。
Sample Input
100
Sample Output
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
{
int n,i,j,a=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(j==i)
{
printf("%d ",i);
a++;
if(a%10==0)
{
printf("\n");
}
}
if(i%j==0)
{
break;
}
}
}
return 0;
}
答
供参考:
#include <stdio.h>
int main()
{
int n, i, j, a = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 2; j <= i; j++)
{
if (j == i){
if (a == 0)
printf("%2d", i);
else if (a % 10 == 0)
printf("\n%2d", i);
else
printf(" %2d", i);
a++;
}
if (i % j == 0)
break;
}
}
return 0;
}
答
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,a=0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(j==i)
{
printf("%d ",i);
a++;
if(a%10==0)
{
printf("\n");
}
}
if(i%j==0)
{
break;
}
}
}
return 0;
}
怎么解决这个格式错误?谢谢