C语言用函数嵌套计算N个整数中所有奇数的和
时间: 2024-12-02 11:22:30 浏览: 27
在C语言中,你可以使用函数嵌套的方式来计算N个整数中所有奇数的和。首先,你需要创建一个主函数main(),然后定义一个辅助函数is_odd()用于判断一个数是否为奇数,接着再定义一个sum_odd_numbers()函数来递归地遍历并累加所有的奇数。下面是一个简单的示例:
```c
#include <stdio.h>
// 辅助函数,检查输入的数是否为奇数
int is_odd(int num) {
return num % 2 != 0;
}
// 主函数,计算n个整数中奇数之和
int sum_odd_numbers(int arr[], int n, int index, int total_sum) {
if (index == n) { // 当遍历结束时返回总和
return total_sum;
} else {
// 如果当前元素是奇数,则加入总和
if (is_odd(arr[index])) {
total_sum += arr[index];
}
// 递归处理下一个元素
return sum_odd_numbers(arr, n, index + 1, total_sum);
}
}
int main() {
int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // 一组包含奇数的数组
int n = sizeof(numbers) / sizeof(numbers[0]); // 数组长度
int sum = sum_odd_numbers(numbers, n, 0, 0); // 调用函数计算奇数和
printf("奇数之和: %d\n", sum);
return 0;
}
```
在这个例子中,`sum_odd_numbers()` 函数会从第一个元素开始,如果遇到奇数就增加到总和`total_sum`,直到遍历完整个数组。注意,这个实现假设了输入的数组已经按照升序排列,如果需要处理任意顺序的整数,还需要先对数组排序。
阅读全文