满意答案
osiet3669413
推荐于 2017.12.15
采纳率:46% 等级:12
已帮助:16607人
#include "stdio.h"
#include "math.h"
int main(void)
{
int count, i, m, n, sum;
int repeat, ri;
int prime(int m);
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d %d", &m, &n);
sum = count = 0;
for(i=m;i<=n;i++){
if(prime(i)==1){
sum=sum+i;
count++;}
}
printf("Count=%d,sum=%d\n",count,sum);
}
}
int prime(int m)
{
int i;
if(m==2)return 1;
if(m==1)return 0;
if(m>2){
for(i=2;i
if(m%i==0)
return 0;}
return 1;//你的主要问题在这里,上面的for循环已经限定了i不会大于m的,你再用了一个if(i>=m)就不对了
}
}
02分享举报