代码:
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);
}
你判断素数的函数有一步错了,素数是1和他本身才能被整除,其他都不能被整除,同时也就意味着他除以他本身必定%==0;
但是你的判断素数的函数shu()里面的for循环是2~数字本身,必定会出现一次%==0,也就会return 0;所以判断出错
谢谢,您说的我改正了,但是还是不行。我输入了10个2结果是0 。
谢谢,我知道了。刚输入3可以。我去改改。
@云雨归海: 可以用一个变量进行%==0统计,然后for循环从1~数字本身,循环结束后,变量==2,return 1,否则return 0
问题是什么呢?
输入10个整数,求其中所有素数之和
@云雨归海: 我意思是你代码都给出来了,是代码不对还是什么?
@顾晓北: 是运行结果不对,像是无法调用函数