编写一个函数prim,要求判定正整数n是否为素数,调用上述函数,按每行十个输出2到100之间所有素数。

2025-03-06 21:07:21
推荐回答(1个)
回答1:

#include 
#include
#include
int isprime(int n)
{
    int i,t;
    if(n<=1)
    {
        printf("error.");
        exit(0);
    }
    if(n==2) return 1;
    if(n%2==0) return 0;
    i=3;
    t=(int)sqrt((double)n)+1;
    while(i<=t)
    {
        if(n%i==0) return 0;
        i+=2;
    }
    return 1;
}
int main()
{
    int i;
    int j=0;
    for (i=2;i<100;i++)
    {
        if (isprime(i))
        {
            printf("%2d ",i);
            j++;
            if(j%10==0) printf("\n");
        }
    }
    system("pause");
    return 0;
}