c++ 实现加权平均法
时间: 2023-08-27 19:07:05 浏览: 283
加权平均法是一种常用的统计方法,用于计算一组数据的加权平均值。其公式如下:
加权平均值 = (权重1 * 数据1 + 权重2 * 数据2 + ... + 权重n * 数据n) / (权重1 + 权重2 + ... + 权重n)
其中,权重表示每个数据的重要程度,可以是任意实数。在实现加权平均法时,需要先定义数据和权重数组,然后按照上述公式进行计算。以下是一个C语言实现的示例代码:
```c
#include <stdio.h>
int main()
{
float data[5] = {1.2, 2.5, 3.7, 4.1, 5.6}; // 数据数组
float weight[5] = {0.2, 0.3, 0.1, 0.2, 0.2}; // 权重数组
float sum_data_weight = 0; // 数据与权重之积的和
float sum_weight = 0; // 权重之和
float weighted_avg; // 加权平均值
// 计算数据与权重之积的和和权重之和
for (int i = 0; i < 5; i++) {
sum_data_weight += data[i] * weight[i];
sum_weight += weight[i];
}
// 计算加权平均值
weighted_avg = sum_data_weight / sum_weight;
printf("加权平均值为:%.2f\n", weighted_avg);
return 0;
}
```
以上代码中,将数据数组和权重数组分别定义为`data`和`weight`,并使用循环计算出数据与权重之积的和`sum_data_weight`和权重之和`sum_weight`,最后计算出加权平均值`weighted_avg`并输出。运行程序后,输出结果为:
```
加权平均值为:3.18
```
表示这组数据的加权平均值为3.18。
阅读全文