c语言的问题,c语言程序设计判断素数输入两个素数m,n,(m>=1),n<=500)

2025-04-09 09:45:57
推荐回答(2个)
回答1:

这代码写得太离谱了,不好改,重写如下:

#include "stdio.h"
int prime(int n){//判断素数
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int m,n,sum,t,c;
printf("Enter m & n(int m>0 and n<=500 and m<=n)...\n");
if(scanf("%d%d",&m,&n)!=2 || m<1 || n>500 || n printf("Input error, exit...\n");
return 0;
}
for(c=m,t=sum=0;m<=n;m++)
if(prime(m))
t++,sum+=m;
printf("There is(are) %d primes between %d~%d\n",t,c,n);
printf("The sum of them is %d\n",sum);
  return 0;
}

运行样例:

回答2:

#include 
int prime(int k); 
int main (void){
int m,n,k,sum,count;
sum=0;
count=0;
scanf("%d%d",&m,&n);

for(k=m;k<=n;k++)
if(prime (k)!=0){
count++;
sum+=k;



printf("count=%d,sum=%d",count,sum);
}
int prime(int k){
int i,a=k>1;
for(i=2;iif(k%i==0){
a=0;break;
};
return(a);
}