用 C++ 程式設計求解一組數字的調和平均值


給定一個自然數陣列,任務是計算給定數字的調和平均值並打印出來。

什麼是調和平均值?

調和平均值表示透過倒數進行算術平均的倒數。

$$調和平均值=\frac{n}{\frac{1}{a}+\frac{1}{b}+\frac{1}{c}+...}$$

其中,n 是給定的元素總數,a、b、c、... 是陣列中的實際元素。

計算調和平均值的步驟為

  • 記錄元素倒數

  • 將所有倒數元素相加

  • 現在,將陣列中元素的總數除以倒數元素的總和

輸入 

arr[] = {2.0, 3.4, 5.3, 2.1}

輸出 

Harmonic mean is: 2.74163

輸入 

arr[] = {13.5, 14.5, 14.8, 15.2, 16.1}

輸出 

Harmonic mean is : 14.7707

演算法

Start
Step 1→ declare function to calculate harmonic mean of numbers
   float harmonic_mean(float arr[], int size)
      Declare float sum = 0
      Loop For int i = 0 and i < size and i++
         Set sum = sum + (float)1 / arr[i]
      End
   return (float)size/sum
Step 2→ In main()
   Declare float arr[] = {2.0, 3.4, 5.3, 2.1}
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call harmonic_mean(arr, size)
Stop

示例

 實際演示

#include <bits/stdc++.h>
using namespace std;
//calculate harmonic mean
float harmonic_mean(float arr[], int size){
   float sum = 0;
   for (int i = 0; i < size; i++)
      sum = sum + (float)1 / arr[i];
   return (float)size/sum;
}
int main(){
   float arr[] = {2.0, 3.4, 5.3, 2.1};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Harmonic mean is : "<<harmonic_mean(arr, size);
   return 0;
}

輸出

如果執行上述程式碼,它將生成以下輸出 −

Harmonic mean is : 2.74163

更新日期: 13-Aug-2020

957 次瀏覽

開啟職業 生涯

完成課程即可獲得認證

立即開始
廣告
© . All rights reserved.