说明:用户输入5个任意整数数据,程序对数据进行处理并返回。 基本要求:对数据求取平均值、最大值、最小值、方差。
时间: 2024-10-13 16:19:10 浏览: 30
要编写一个程序,接收用户输入的五个整数,并计算它们的平均值、最大值、最小值和方差,可以按照以下步骤实现:
```c
#include <stdio.h>
#include <math.h> // 包含数学库以便使用sqrt()函数计算方差
void process_data(int input[], int size) {
if (size == 0) {
printf("Error: No data provided.\n");
return;
}
int min = input[0]; // 初始化最小值为第一个元素
int max = input[0]; // 初始化最大值为第一个元素
float sum = 0; // 初始化总和为0
for (int i = 1; i < size; i++) {
sum += input[i]; // 累加
min = (input[i] < min) ? input[i] : min; // 更新最小值
max = (input[i] > max) ? input[i] : max; // 更新最大值
}
float avg = (float)sum / size; // 计算平均值
float variance = 0; // 初始化方差为0
for (int i = 0; i < size; i++) {
variance += pow(input[i] - avg, 2); // 对每个数减去平均值然后平方,累加方差
}
variance /= size; // 最终方差除以元素个数
printf("Average: %.2f\n", avg);
printf("Maximum: %d\n", max);
printf("Minimum: %d\n", min);
printf("Variance: %.2f\n", variance);
}
int main() {
int numbers[5];
printf("Enter five integers:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &numbers[i]);
}
process_data(numbers, 5);
return 0;
}
```
这个程序首先从用户那里获取五个整数,然后在 `process_data` 函数中计算并打印出平均值、最大值、最小值和方差。
阅读全文