求素数:输入两个正整数m和n,求出[m,n]区间的所有素数。用c语言

2024-11-18 08:34:14
推荐回答(2个)
回答1:

#include
#include /*根号函数在这个头文件里*/
char prime(int data) /*判断是不是质数的函数*/
{ int i;
for(i=2;i<=sqrt(data);i++) /*sqrt是根号函数*/
{ if(data%i==0) /*求模为0代表除尽*/
return 0; /*0代表不是质数*/
}
return 1; /*当足次循环的时候,代表是质数,会执行到此句*/
}
void main()
{ int m,n;
scanf("%d%d",&m,&n); /*这里默认你输入的第一个数据小第二个数据大,也没有做合法性检查,你可以适当改改*/
for(;m<=n;m++)
{ if(prime(m)==1)
printf("%d\t",m);
}
}

回答2:

int i,flag, M=0,N=0;
printf("输入素数起始范围:");
scanf("%d %d",&M,&N);
for (M;M {
//flag =0;
for (i=2;i {
if (M%i!=0)
{
flag=1;
//printf("%d ",M);
}
else
{
flag=0;
break;
}
}
if (flag!=0)
{
printf("%d ",M);
}
}