用c语言编写程序:输入一批正整数,以零或复数为结束标记,求其中所有奇数的和。要求定义和调用函数even(n)判断整数的奇偶性,当n为偶数时返回1,否则返回零。
时间: 2024-10-23 12:04:56 浏览: 42
在 C 语言中,你可以通过定义一个名为 `is_odd` 的函数来判断一个整数是否为奇数,然后在主程序中读取用户输入并计算奇数之和。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义函数,判断整数 n 是否为奇数
int is_odd(int n) {
return (n % 2 != 0) ? 0 : 1; // 如果 n 能被 2 整除则返回 1,表示偶数;否则返回 0,表示奇数
}
// 主函数,输入正整数列表并计算奇数和
int sum_of_odds() {
int num = 0, sum = 0;
printf("请输入正整数(以零或负数结束):");
while (scanf("%d", &num) == 1 && num > 0) {
if (!is_odd(num)) { // 如果 num 是偶数
continue;
}
sum += num; // 否则是奇数,累加到总和中
}
return sum;
}
int main() {
int total_sum = sum_of_odds();
printf("奇数之和为:%d\n", total_sum);
return 0;
}
```
在这个程序中,我们首先定义了一个 `is_odd` 函数,它通过取余运算符 `%` 来检查数字是否能被 2 整除。接着,在 `sum_of_odds` 函数中,我们循环读入用户的输入,并根据 `is_odd` 函数的结果来更新奇数之和。
阅读全文