C编程中数组中的平均数
数组中存储n个元素,此程序将计算这些元素的平均值。使用不同的方法。
输入 -1234567
输出 -4
说明- 数组1+2+3+4+5+6+7=28的元素总和
数组中的元素数=7
平均值=28/7=4
有两种方法
方法1-迭代
在这种方法中,我们将求和,然后将和除以元素总数。
给定数组arr[]和数组n的大小
输入 -1234567
输出 -4
说明 -数组1+2+3+4+5+6+7=28的元素总和
数组中的元素数=7
平均值=28/7=4
示例
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7 }; int n=7; int sum = 0; for (int i=0; i<n; i++) { sum += arr[i]; } float average = sum/n; cout << average; return 0; }
方法2-递归
想法是将元素的索引作为附加参数传递并递归计算总和。计算总和后,将总和除以n。
给定数组arr[],数组n的大小和初始索引i
输入 -12345
输出 -3
说明 -数组1+2+3+4+5=15的元素总和
数组中的元素数=5
平均值=15/5=3
示例
#include <iostream> using namespace std; int avg(int arr[], int i, int n) { if (i == n-1) { return arr[i]; } if (i == 0) { return ((arr[i] + avg(arr, i+1, n))/n); } return (arr[i] + avg(arr, i+1, n)); } int main() { int arr[] = {1, 2, 3, 4, 5}; int n = 5; cout << avg(arr,0, n) << endl; return 0; }