请问一下各位帅哥美女,我这个对素数求和的程序错在哪里?谢谢啦.
#include<stdio.h>//这个c程序用于计算输入的两个数n,m之间的所有素数之和
int main(){
int n=0, m=0, i=0, j=0, sum=0;
scanf("%d %d",&n,&m);//输入两个数n,m
for(i=n;i<=m;i++){//for循环进行遍历区间内的每一个数
int isprime=1;//isprime为1表示是素数
for(j=2;j<i;j++){
if(i%j==0){
//对于从n到m这个区间的数i,他可以被j求余,即整除.
isprime=0;//说明i不是素数,应该被置零
}
break;//退出for循环,isprime已经被置零,目的已经实现
}
if(isprime==1){//说明上面的if循环没起作用,也就是说i是一个素数.
sum=sum+i;//对素数进行累加
}
}
printf("sum is %d\n", sum);
return 0;
}
这个是输出结果:
2 3
sum is 1.500000
--------------------------------
Process exited after 3.044 seconds with return value 0
请按任意键继续. . .