怎么用c语言编写一个求加权平均数的代码
时间: 2024-10-11 20:11:05 浏览: 30
在C语言中,你可以创建一个简单的程序来计算一组数的加权平均值。这里是一个基本的示例,假设我们已经有了数组`numbers[]`存储数据,以及对应的权重数组`weights[]`。首先,你需要初始化两个变量`total_sum`(用于累加总和)和`total_weight`(用于累加权重),然后遍历数组,对每个元素乘以对应权重并加到总和上,同时累加权重。
```c
#include <stdio.h>
double weighted_average(int numbers[], double weights[], int size) {
double total_sum = 0.0;
double total_weight = 0.0;
for (int i = 0; i < size; i++) {
total_sum += numbers[i] * weights[i];
total_weight += weights[i];
}
if (total_weight == 0.0) {
printf("警告:权重总和为0,无法计算平均值。\n");
return 0.0;
} else {
return total_sum / total_weight;
}
}
int main() {
// 假设有以下数据
int numbers[] = {10, 20, 30};
double weights[] = {0.2, 0.3, 0.5};
int size = sizeof(numbers) / sizeof(numbers[0]);
double result = weighted_average(numbers, weights, size);
printf("加权平均数是: %.2f\n", result);
return 0;
}
```
在这个例子中,`weighted_average`函数接收数组、权重数组和大小作为参数,并在主函数中调用它来计算平均值。
阅读全文