任务描述
- 用户将使用给定的测试集输入N个正整数,并将它们存储在数组a中。
- 程序需要输出数组a中的最大值和最小值。
- 程序还需要计算数组a的平均值,并将结果保留两位小数进行输出。
程序在接收输入时,首先会使用第一个数来确定要输入的整数的数量N,然后接下来的N个数将作为正整数存入数组a中。最后,程序会输出数组a的最大值、最小值和平均值。
相关知识
为了完成本关任务,你需要掌握数组的相关知识,如:1.如何获取数组的长度,2.如何遍历数组。
编程要求
根据提示,在右侧编辑器补充代码,通过系统测评。
测试说明
请用平台给的测试集输入,对你编写的代码进行测试,请在输入时,用第一个数代表你要输入几个整数,后面的值为你给的若干正整数。。
测试输入: 4
91
51
2
32
预期输出(依次输出最大值、最小值和平均值,每两个数之间一个空格): 91
2
44.00
测试输入: 5
1
151
12
22
100
预期输出(依次输出最大值、最小值和平均值,每两个数之间一个空格): 151
1
57.20
#include <stdio.h>
int main(void)
{
int a[21] = {0}; // 数组a用于存储输入的整数
int N, i; // N表示输入的整数数量,i用于循环计数
int max, min; // max存储最大值,min存储最小值
double average = 0.00, sum = 0.00; // average存储平均值,sum用于计算总和
fflush(stdin); // 清空输入缓冲区
scanf("%d", &N); // 输入整数数量
for (i = 0; i < N; i++) {
fflush(stdin); // 清空输入缓冲区
scanf("%d", &a[i]); // 输入整数并存入数组a
sum = sum + a[i]; // 计算总和
}
average = sum / N; // 计算平均值
max = a[0]; // 假设第一个数为最大值
min = a[0]; // 假设第一个数为最小值
for (i = 0; i < N; i++) {
if (a[i] > max)
max = a[i]; // 更新最大值
if (a[i] < min)
min = a[i]; // 更新最小值
}
printf("%d %d %.2lf", max, min, average); // 输出最大值、最小值和平均值
return 0;
}