写一个递归函数,实现求一个一维数组的所有元素之和
时间: 2024-05-14 14:15:35 浏览: 6
好的,以下是一个递归函数来实现求一个一维数组的所有元素之和的示例代码:
```python
def array_sum(arr):
if len(arr) == 0:
return 0
else:
return arr[0] + array_sum(arr[1:])
```
这个函数接受一个一维数组作为参数,如果数组为空,则返回0,否则返回数组的第一个元素加上递归调用该函数并传入数组的剩余部分的结果。当递归调用到最后一个元素时,递归将停止并返回结果。
相关问题
写一个递归函数,实现求一个一维数组的所有元素之和
下面是用 Python 语言实现的递归函数:
```python
def sum_array(arr):
if len(arr) == 1:
return arr[0]
else:
return arr[0] + sum_array(arr[1:])
```
这个函数接受一个一维数组 `arr` 作为参数,首先判断数组长度是否为1,如果是,则返回数组唯一元素的值,否则返回数组第一个元素与递归调用自身并传入去掉第一个元素的子数组的结果之和。
C语言用递归函数求一维数组中位数
以下是C语言用递归函数求一维数组中位数的代码实现:
```c
#include <stdio.h>
// 递归函数求一维数组中位数
float median(int arr[], int n) {
if (n % 2 == 0) {
return (arr[n / 2 - 1] + arr[n / 2]) / 2.0;
} else {
return arr[n / 2];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("中位数为:%f", median(arr, n));
return 0;
}
```