题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
请计算这次考试的最高分、最低分和平均分。
输入描述
输入的第一行包含一个整数 n (1 ≤ n ≤ 10^4),表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
输入输出样例
示例
输入
7
80
92
56
74
88
99
10
输出
99
10
71.29
下面是我的解题思路,重要的思路我在代码中注释了,可以用来参考做题,不一定要照搬。
#include<iomanip>
#include<iostream>
using namespace std;
int main()
{
int score[10000], n, max, min;//定义一个数组来存放输入的数
double ave = 0;//平均值要保留两位小数,所以用double类型
max = 0; min = 100;//在这道题中可以最大值和最小值进行相应的赋值,因为这道题成绩的取值范围就是0到100
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> score[i];
ave += score[i];//进行累加,再循环后再除以n,用来计算平均值
if (max < score[i])
max = score[i];
if (min > score[i])
min = score[i];
}
ave = ave / n;
cout << max << endl << min << endl << setiosflags(ios::fixed) << setprecision(2) << ave << endl;//要对最后的平均值进行保留两位小数的操作
return 0;
}
顺便在这边给大家普及一下c++中保留几位小数的操作:
1.首先一定要打出头文件
#include<iomanip>
2.在要保留小数的数前输入这段代码
setiosflags(ios::fixed) << setprecision(n) <<
这段代码中的n是几,就可以保留几位小数,这道题中我使用的是n=2.