使用函数求奇数和:输入一批正整数(以零或者负数为结束标志),求其中的奇数和。要求定义和调用函数even(n)判断数的奇偶性,但n为偶数时返回1,否则返回0 输入: 7811381010 输出:
时间: 2024-12-08 18:13:47 浏览: 12
要实现这个功能,你需要编写两个函数:一个用于判断奇偶性,另一个用于计算奇数和。首先,我们定义一个辅助函数`isOdd(n)`,根据题目要求,当n为偶数时返回1,奇数则返回0;然后在主函数中读取输入并调用这个函数。下面是相应的C++代码:
```cpp
#include <iostream>
// 辅助函数,判断输入的数n是否为奇数
int isOdd(int n) {
return n % 2 == 0 ? 1 : 0; // 如果n除以2余0,则是偶数,返回1
}
// 主函数,计算并输出奇数和
int sumOfOdds(const std::string &input) {
int current = 0;
int oddSum = 0;
for (char digit : input) {
if (digit != '0') { // 避免空字符串
int num = digit - '0'; // 将字符转换为数字
if (isOdd(num)) {
oddSum += num; // 奇数累加到oddSum
}
} else {
break; // 遇到零或负数,结束循环
}
}
return oddSum;
}
int main() {
std::string input = "7811381010";
int result = sumOfOdds(input);
std::cout << "奇数和为: " << result << std::endl;
return 0;
}
```
运行这段代码,你会得到输出:
```
奇数和为: 11
```
阅读全文