C语言m~n之间的素数

来源:百度知道 编辑:UC知道 时间:2024/09/20 20:29:24
#include <stdio.h>
编程求出m~n之间的所有素数,m,n为正整数。编写函数isPrime判断一个数是否为素数
void main()
{
int a,b,c;
int isPrime(m,n);
scanf("%d %d",&a,&b);
c=isPrime(a,b);
printf("%d",c);
}
int isPrime(m,n)
{
int i,j,num[];
for(j=n;j<=m-n;j++)
for(i=2;i<j;i++)
if(n%i!==0)

}
我做到了这里就不会了。
求素数我是明白的,不过从m~n求出来这么多素数应该怎么输出呢?
是否设置一个数组把素数放进去呢?请教大家。

你写的程序思路非常混乱
用循环就可以。
#include <stdio.h>
#include<math.h>
void main()
{
int m,n,i;
int isPrime(int);
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
if(isPrime(i))
printf("%d ",i);
}
int isPrime(int x) //这个才是判断是否素数的函数,是返回1,不是返回0
{
int i,flag=1;
for(i=2;i<=sqrt(x);i++)
if(x%i==0)
{
flag=0;
break;
}
return flag;
}

int isPrime(m,n)在这里面求得一个就打印一个也是种解决方法。