已知A[0…n-1]为整数数组,设计一个完整C++程序用递归算法求这n个元素的平均值。
时间: 2024-10-23 07:11:47 浏览: 18
当然可以。这里是一个简单的C++递归函数,用于计算整数数组A的平均值:
```cpp
#include <iostream>
using namespace std;
double averageRecursion(int A[], int n, int i = 0) {
// 递归基本情况:如果数组只有一个元素或已经处理到最后一个元素
if (i == n) {
return A[i]; // 单个元素的平均值就是它本身
} else {
// 如果有多个元素,返回当前元素加上剩余元素平均值的结果除以2
double currentElement = A[i];
double remainingAverage = averageRecursion(A, n, i + 1);
return (currentElement + remainingAverage) / 2.0;
}
}
int main() {
int n;
cout << "请输入数组长度:";
cin >> n;
int A[n];
cout << "请输入数组元素:" << endl;
for (int i = 0; i < n; i++) {
cin >> A[i];
}
double arrayAverage = averageRecursion(A, n);
cout << "数组的平均值是: " << arrayAverage << endl;
return 0;
}
```
这个程序首先获取用户输入的数组长度和元素,然后通过`averageRecursion`函数递归地计算平均值。递归函数会一直调用自身,直到处理完所有元素。
阅读全文