骑着蜗牛赶火车 2021-11-09 14:16 采纳率: 63.6%
浏览 458
已结题

求小于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;

}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-11-09 14:58
    关注

    供参考:

    #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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月9日