题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
请计算这次考试的最高分、最低分和平均分。
输入描述
输入的第一行包含一个整数 n () 表示考试人数。
接下来 n行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
输入输出样例
示例
输入
7
80
92
56
74
88
99
10
输出输出
99
10
71.29
#include <iostream>
using namespace std;
const int N=10002;
int main()
{
long long sum=0;
int n,a[N],min=100,max=0;
//首先设定最大值和最小值,这里最小值要初始化为成绩最大限度,
//最大值要初始化为成绩最小限度,以便比较时数值的更新
//千万不可全部初始化为0,因为这样最小值便有可能无法被更新
float av;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>max) max=a[i];
if(a[i]<=min) min=a[i];
sum+=a[i];
}
av=sum*(1.0)/n;//此处由于sum与n均为整数,其计算结果仍然为整数
//也可以先将sum强制类型转换为浮点数,即av=(double)sum/n;
cout<<max<<endl;
cout<<min<<endl;
printf("%.2f\n",av);
return 0;
}
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M