輸入2個(gè)正整數(shù)m和n(m>=1,n<=500),統(tǒng)計(jì)并輸出m和n之間的素?cái)?shù)個(gè)數(shù)以及這些素?cái)?shù)的和。素?cái)?shù)就是只能被1和自身整除的正整數(shù),最小的素?cái)?shù)是2.要求調(diào)用函數(shù)prime(m)判斷m是否為素?cái)?shù),當(dāng)m為素?cái)?shù)時(shí)返回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;}編譯不過 ,不知道哪錯(cuò)了。。
1 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
#include<stdio.h>
int x,a,result;
double prime(int x);//定義x的類型
int main()
{
int m,n,count=0,i,sum=0;//因?yàn)橄旅嬉约铀砸x初值
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);//不要取地址符號(hào)
return 0;
}
double prime(int x)
{
for(a=2;a*a<=x;a++)//這里的x就是i 函數(shù)調(diào)用時(shí)是把i傳給x的
if(x%a==0)
break;
if(a*a>x)
result=1;
else result=0;
return result;
}
- 1 回答
- 0 關(guān)注
- 1618 瀏覽
添加回答
舉報(bào)
0/150
提交
取消