C语言中怎么求任意个正整数的平均值
时间: 2024-10-10 16:12:22 浏览: 51
从输入的一批正整数中求出最大值、最小值和平均值,输入0结束数据的输入
在C语言中,求一组正整数的平均值需要先存储这些数值,然后计算它们的总和再除以数量。这里提供一种简单的方法,通过动态数组来存储并计算:
```c
#include <stdio.h>
#include <stdlib.h>
double average(int count, int* numbers) {
if (count == 0) { // 如果没有任何数,返回0
return 0;
}
int sum = 0;
for (int i = 0; i < count; i++) {
sum += numbers[i]; // 累加每个元素
}
return (double)sum / count; // 将总和转换成浮点数并除以数量得到平均值
}
int main() {
int num_count;
printf("请输入正整数的数量: ");
scanf("%d", &num_count);
int* input_numbers = malloc(num_count * sizeof(int)); // 动态分配内存存储输入的数
printf("请输入%d个正整数: ", num_count);
for (int i = 0; i < num_count; i++) {
scanf("%d", &input_numbers[i]);
}
double avg = average(num_count, input_numbers);
printf("这组数的平均值是: %.2f\n", avg); // 输出保留两位小数的平均值
free(input_numbers); // 释放内存
return 0;
}
阅读全文