本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
结尾无空行
输出样例:
116
结尾无空行
代码:
#include <stdio.h>
int main()
{
int num;
int n;
int i;
int sum;
while(1)
{
scanf("%d",&num);
if(num <= 0)
{
break;
}
if(num % 2 != 0 && num > 0)
{
sum += num;
}
}
printf("%d",sum);
}
思路:
这道题有个小坑,要仔细读题。之前一直是先输入循环次数的,后做判断。这道题不需要循环次数,直接进行判断就行(while(1)),当遇到小于等于0时跳出即可(break)。
奇函数判断方法:对当前数字进行模2取余(number % 2),若等于0,为偶数;若等于1,为奇数。