求5-100之间所有素数要求每行输出5个素数判断一个整数n是否是素数用一个函数实现如果n是素数返回1否则0。

2025-12-17 19:51:41
推荐回答(2个)
回答1:

#include
#include

int isPrimer(int n)
{
int i;
if(n == 1)
return 0;
if(n == 2)
return 1;
if(n%2 == 0)
return 0;
else
{
int count = (int)sqrt(n)+1;

for(i=3; i if(n%i == 0)
return 0;
}
return 1;
}

void main(int argc, char *argv[])
{
int n, i, count=0;

scanf("%d",&n);

FILE* f =fopen("素数.txt","w");

for(i=2;i<=n;i++)
{
if(isPrimer(i))
{
fprintf(f,"%5d,", i);

if(++count%10 == 0)
fprintf(f,"\n");
}
}
fclose(f);
}
程序经过编译、运行,完全正确。

回答2:

#include "stdio.h"
#include "math.h"
int zhishu(int x)
{int j,n;
n=sqrt(x);
for(j=3;j<=n;j+=2)
{
if(x%j==0)
return 0;
}
return 1;
}

void main()
{
int z,i,a=0;
for(i=5;i<100;i+=2)
{
z=zhishu(i);
if(z==1)
{
printf(" %d ",i);
a++;
}
if(a%5==0)printf("\n");
}
}