定义个数组使用递归求数组的和编写代码输出结果c
时间: 2024-09-09 20:06:49 浏览: 26
递归是一种常见的编程技巧,它允许函数调用自身来解决问题。对于求一个数组的和,可以通过递归将数组分成更小的部分,直到达到基本情况(通常是数组为空或只有一个元素),然后逐层返回并累加求和。
以下是一个使用递归求数组和的C语言示例代码:
```c
#include <stdio.h>
// 递归函数,计算数组从start到end的和
int sumArray(int arr[], int start, int end) {
// 基本情况:如果数组只有一个元素
if (start == end) {
return arr[start];
}
// 递归情况:将数组分成两部分,前半部分和后半部分
int mid = (start + end) / 2;
return sumArray(arr, start, mid) + sumArray(arr, mid + 1, end);
}
int main() {
int arr[] = {1, 2, 3, 4, 5}; // 定义数组
int n = sizeof(arr) / sizeof(arr[0]); // 计算数组元素个数
int sum = sumArray(arr, 0, n - 1); // 调用递归函数计算和
printf("数组的和是: %d\n", sum); // 输出结果
return 0;
}
```
在这个例子中,`sumArray`函数将数组分成两部分,先计算前半部分的和,然后计算后半部分的和,最后将这两部分的和相加,得到整个数组的和。递归调用继续进行,直到达到基本情况,此时数组只有一个元素,直接返回这个元素的值,然后逐层返回并累加。