C语言问题。。。向各路大神求解! 谢谢

输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。【输入... 输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。
【输入形式】
输入一批正整数,以0或负数为结束标志
【输入输出样例1】(下划线部分表示输入)
Input integers: 12 9 7 18 3 11 20 0
The sum of the odd numbers is 30
以上是题目~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~下面是我的语句 请问哪儿有问题 不管怎么样输出的都是0.。。。好像不是break的问题 - -*

#include<stdio.h>
#include<math.h>
int x,y;
double even(int x);
int main()
{
double sum=0;
y=even(x);
printf("Input integers: ");
scanf("%d",&x);
while(x>0){
if(y==0){
sum=sum+x;}
else if(y==1){
break;}
scanf("%d",&x);
}
printf("The sum of the odd numbers is %.0f\n",sum);
return 0;
}
double even(int x)
{

if((x>0)&&(x%2!=0)){
y=0;}
else{
y=1;}
return y;
}
展开
 我来答
百度网友6fe74e2
2013-05-05 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:231万
展开全部

#include<stdio.h>

int even(int n)

{

     if(n%2==0)

          return 1;

     else

          return 0;

}

int main()

{

     int sum=0;

     int n;

     printf("Input integers:");

     while(1)

     {

           scanf("%d",&n);

           if(n<=0)

                break;

           if(even(n)==0)

               sum+=n;

     }

     printf("The sum of the odd numbers is %d\n",sum);

 

}

结果:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式