首页 新闻 会员 周边 捐助

c语言函数调用问题(输入10个整数找出所有素数并求和)

0
[已解决问题] 解决于 2020-05-24 11:05


代码:

include<stdio.h>

int shu(int a)
{
int i,j;
for(i=2;i<=a;i++){
j=a%i;
if(j==0)
return 0;
else
return 1;
}

}
main()
{
int i,b[10],s=0,a;
printf("请输入10个整数:");
for( i=0;i<10;i++){
scanf("%d",&b[i]);
a=shu(b[i]);
if(a==1)
s=s+b[i];
}
printf("%d\n",s);
}

云雨归海的主页 云雨归海 | 初学一级 | 园豆:187
提问于:2020-05-24 09:32
< >
分享
最佳答案
0

你判断素数的函数有一步错了,素数是1和他本身才能被整除,其他都不能被整除,同时也就意味着他除以他本身必定%==0;

但是你的判断素数的函数shu()里面的for循环是2~数字本身,必定会出现一次%==0,也就会return 0;所以判断出错

奖励园豆:5
Conan-jine | 小虾三级 |园豆:1272 | 2020-05-24 10:55

谢谢,您说的我改正了,但是还是不行。我输入了10个2结果是0 。

云雨归海 | 园豆:187 (初学一级) | 2020-05-24 11:02

谢谢,我知道了。刚输入3可以。我去改改。

云雨归海 | 园豆:187 (初学一级) | 2020-05-24 11:04

@云雨归海: 可以用一个变量进行%==0统计,然后for循环从1~数字本身,循环结束后,变量==2,return 1,否则return 0

Conan-jine | 园豆:1272 (小虾三级) | 2020-05-24 11:07
其他回答(1)
0

问题是什么呢?

顾晓北 | 园豆:10898 (专家六级) | 2020-05-24 09:58

输入10个整数,求其中所有素数之和

支持(0) 反对(0) 云雨归海 | 园豆:187 (初学一级) | 2020-05-24 10:10

@云雨归海: 我意思是你代码都给出来了,是代码不对还是什么?

支持(0) 反对(0) 顾晓北 | 园豆:10898 (专家六级) | 2020-05-24 10:13

@顾晓北: 是运行结果不对,像是无法调用函数

支持(0) 反对(0) 云雨归海 | 园豆:187 (初学一级) | 2020-05-24 10:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册