C编程中数组中的平均数

数组中存储n个元素,此程序将计算这些元素的平均值。使用不同的方法。

输入 -1 2 3 4 5 6 7

输出 -4

说明- 数组1 + 2 + 3 + 4 + 5 + 6 + 7 = 28的元素总和

数组中的元素数= 7

平均值= 28/7 = 4

有两种方法

方法1-迭代

在这种方法中,我们将求和,然后将和除以元素总数。

给定数组arr []和数组n的大小

输入 -1 2 3 4 5 6 7

输出 -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

输入 -1 2 3 4 5

输出 -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;
}