输入若干个正整数(以零或负数为结束标志),求其中的奇数和。要求调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。请根据其功能描述,将源程序补充完整。
时间: 2024-02-26 13:57:30 浏览: 70
基于C++,写一个计算求和的函数模板,用户从键盘输入若干整数,以-1为结束标志,实现对用户输入的值进行求和,并返回求和结果
以下是完整的源代码:
```c
#include <stdio.h>
int even(int n) {
if (n % 2 == 0) {
return 1;
} else {
return 0;
}
}
int main() {
int num, sum = 0;
printf("请输入若干个正整数(以零或负数为结束标志):\n");
scanf("%d", &num);
while (num > 0) {
if (even(num) == 0) {
sum += num;
}
scanf("%d", &num);
}
printf("奇数和为:%d\n", sum);
return 0;
}
```
程序流程如下:
1. 定义函数even(n),用于判断n是否为偶数,如果是则返回1,否则返回0。
2. 在主函数中,首先定义变量num和sum,分别表示输入的数和奇数的和。
3. 提示用户输入若干个正整数,并读入第一个数num。
4. 判断num是否大于0,如果是则进入循环体,否则直接输出奇数和,并结束程序。
5. 在循环中,调用函数even(num)判断num是否为奇数,如果是,则将其加入到sum中。
6. 读入下一个数num,并回到第4步。
7. 当用户输入0或负数时,跳出循环,输出奇数和。
阅读全文