输入一批正整数(以零或负数为结束标志),求其中所有奇数的和。要求

#include<stdio.h>
int even(int n);
int main(void)
{
int x, sum=0;
printf("Enter a set of data:");
scanf("%d",&x);
while(x>0){
if( even (x) )
sum+=x;
scanf("%d",&x);
}
printf("%d\n",&sum);
return 0;
}
int even(int n)
{
if(n%2!=0)
return 0;
else return 1;
}
算法哪里有问题?

第1个回答  2018-12-10
if(n%2!=0)
return 0;
else return 1;
改成
if(n%2==0) //能被2整除,是偶数
return 1;
else return 0;

if( even (x) )
改成
if( !even (x) )本回答被网友采纳