21xrx.com
2025-04-03 23:10:51 Thursday
文章检索 我的文章 写文章
C++实现几何平均值
2023-07-04 14:47:30 深夜i     17     0
C++ geometric mean implementation algorithms mathematical functions

几何平均值(geometric mean)是一种计算平均数的方式,它是一组数的乘积的 n 次根,其中 n 为这组数的数量。在 C++ 中,可以通过以下方式实现几何平均值的计算:

#include <iostream>
#include <cmath>
using namespace std;
double geometricMean(double arr[], int size) {
  double product = 1;
  for(int i = 0; i < size; i++) {
    product *= arr[i];
  }
  double result = pow(product, 1 / (double)size);
  return result;
}
int main() {
  double arr[] = 9.2;
  int size = sizeof(arr) / sizeof(arr[0]);
  double result = geometricMean(arr, size);
  cout << "The geometric mean value is: " << result << endl;
  return 0;
}

在上述代码中,首先定义了一个函数 geometricMean,该函数接收一个数组和数组的大小作为参数。在函数内部,使用一个循环计算出数组的乘积,然后使用 pow 函数计算出 n 次根,最终返回几何平均值。

在 main 函数中,定义了一个包含五个数字的数组,并计算出数组的大小。然后调用 geometricMean 函数,将数组和大小作为参数传入,并将返回值赋值给 result 变量。最后在控制台输出结果。

通过以上示例,我们可以看出,在 C++ 中实现几何平均值的计算非常简单。需要注意的是,在计算 n 次根时,应该将 1.0 除以 size,这样可以避免整数相除得到小数的截断问题。

  
  

评论区