本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
结尾无空行
输出样例:
116
结尾无空行
注意点:
由于是用的do while循环,所以要注意一下if语句和scanf的顺序
如果反了的话就会把用来表示结束的数据给加到sum里面
自己调试跟一下,就明白了
#include<stdio.h>
int isodd(int num);
int main()
{
int num = 0,sum=0;
do {
if (isodd(num)) sum += num;
scanf("%d", &num);
} while (num > 0);
printf("%d", sum);
return 0;
}
int isodd(int num)
{
int ret = 1;
if (num % 2 == 0) ret = 0;
return ret;
}