c语言 求素数,要求调用函数?

输入2个正整数m和n(m>=1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。素数就是只能被1和自身整除的正整数,最小的素数是2.要求调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0.

#include<stdio.h>
int x,a,result;
double prime(x);
int main()
{
int m,n,count=0,i,sum;
scanf("%d",&m);
scanf("%d",&n);
for(i=m;i<=n;i++){
if(prime(x)==1){
count++;
sum=sum+x;}
}
printf("count=%d,sum=%d",&count,&sum);
return 0;
}
double prime(x)
{
x=i;
for(a=2;a*a<=x;i++)
if(x%a==0)
break;
if(a*a>x)
result=1;
else result=0;
return result;
}

编译不过 ,不知道哪错了。。

慕容3067478
浏览 1593回答 1
1回答

胡子哥哥

#include<stdio.h>int x,a,result;double prime(int x);//定义x的类型int main(){int m,n,count=0,i,sum=0;//因为下面要自加所以要赋初值scanf("%d",&m);scanf("%d",&n);for(i=m;i<=n;i++){if(prime(i)==1)//是i不是m{count++;sum=sum+i;//printf(" %d",i);}}printf("count=%d,sum=%d",count,sum);//不要取地址符号return 0;}double prime(int x){for(a=2;a*a<=x;a++)//这里的x就是i 函数调用时是把i传给x的if(x%a==0)break;if(a*a>x)result=1;else result=0;return result;}
打开App,查看更多内容
随时随地看视频慕课网APP