#include<stdio.h>
int prime(int n)
{
int i,flag=1;
for(i=2;i<=n-1;i++){
if(n%i==0){
flag=0;
break;
}
}
return flag;
}
int main(){
int t,m,n,i,count=0,sum=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++){
if(prime(i)==1){
count++;
sum+=i;
}
}
printf("count=%d,sum=%d",count,sum);
return 0;
}
有报错吗,我这里可以运行
输入1、2
#include<stdio.h>
int prime(int n)
{
int i,flag=1;
for(i=2;i<=n-1;i++){
if(n%i==0){
flag=0;
break;
}
}
return flag;
}
int main(){
int t,m,n,i,count=0,sum=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++){
if(prime(i)==1){
count++;
sum+=i;
}
}
printf("count=%d,sum=%d",count,sum);
return 0;
}
你的代码是对的,输出的是m和n之间的素数的个数和素数之和。