高分求助简单C语言问题

输入两个数M,N。统计并输出这些素数的个数以及这些素数的和。要求定义并调用函数prime(m)判断m是否为素数。当m是素数时,返回1,否则返回0。 请写出全部代码。急需。追加高分。

#include<stdio.h>
#include<math.h>//用到了sqrt()
int prime(int m)
{ int i,j=1;//j=1先假设m是素数
for(i=2;i<=sqrt(m);i++)
if(m%i==0&&m!=2)//2是素数
{j=0;
break;
}
if(m==1)//1不是素数
j=0;
return j;
}
void main()
{ int M,N,i,j=0,count=0;
printf("Input M N: ");
scanf("%d%d",&M,&N);
while(M>N)
{printf("Error! ");
printf("Input M N again: ");
scanf("%d%d",&M,&N);
}//M>N,重新输入
for(i=M;i<=N;i++)
if(prime(i))
{
count++;
j+=i;
}

printf("The number of prime: %d\n",count);
printf("The sum of prime: %d\n",j);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-04
#include "stdio.h"
int prime(int x);
int main(void)
{
int m ,n, array = 0, number = 0;

printf("Please enter two numbers:");
scanf("\n%d%d", &m, &n);

if(prime(m) == 1)
{
array += m;
number++;
}
if(prime(n) == 1)
{
array += n;
number++;
}

printf("array is %d, number is %d\n", array, number);

return 0;
}
int prime(int x)
{
int i;

for(i = 2;i < x;i++)
{
if(x % i == 0)
{
return 0;
}
if(i == x - 1)
{
return 1;
}
}
}
相似回答