给定一个正整数n (0< n <=10000),打印输出[1, n]范围内的所有素数,每行 10个,超过 10个换行,素数之间以空格分隔。如果不存在这样的素数,输出null。

给定一个正整数n (0< n <=10000),打印输出[1, n]范围内的所有素数,每行 10个,超过 10个换行,素数之间以空格分隔。如果不存在这样的素数,输出null。

你题目的解答代码如下:

#include <stdio.h>
int prime(int n)
{
    int i;
    if(n<=1)
        return 0;
    for(i=2;i*i<=n;i++)
        if(n%i==0)
            return 0;
    return 1;
}
int main()
{
    int n,i,j=0;
    scanf("%d",&n);
    for( i=2; i<=n; i++ ) {
        if(prime(i)){
            printf("%d%c", i,++j%10==0?'\n':' ');
        }
    }
    if (j==0)
    {
        printf("null");
    }

    return 0;
}

如有帮助,望采纳!谢谢!