使用递归函数输入一个数组再输出这个数组所有元素之和用c语言
时间: 2024-12-13 08:21:45 浏览: 11
在C语言中,你可以使用递归函数来计算数组的所有元素之和。递归是一种技术,其中函数在其定义内调用自身,直到达到某个基本情况为止。对于这个问题,基本情况通常是一个空数组(长度为0)或者只有一个元素的数组。
下面是一个简单的例子,展示了如何用递归实现数组元素之和:
```c
#include <stdio.h>
// 递归函数计算数组元素之和
int sumArray(int arr[], int n) {
// 基本情况:数组为空或只有一个元素
if (n == 0) {
return 0; // 如果数组长度为0,返回0
} else {
// 递归情况:将当前元素加上剩余部分的和
return arr[n - 1] + sumArray(arr, n - 1);
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int array_size = sizeof(arr) / sizeof(arr[0]);
int total_sum = sumArray(arr, array_size);
printf("数组 %d 的所有元素之和为: %d\n", array_size, total_sum);
return 0;
}
```
在这个示例中,`sumArray()` 函数接受数组 `arr` 和它的长度 `n` 作为参数。当数组长度不是0时,函数会取出第一个元素,并通过递归调用自己来计算剩余元素的和,然后两者相加。
阅读全文