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

更新於: 2020 年 7 月 1 日

208 次檢視

開啟你的 事業

完成課程獲得認證

開始
廣告
© . All rights reserved.