用 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.