题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
请计算这次考试的最高分、最低分和平均分。
输入描述
输入的第一行包含一个整数 n (1≤n≤104),表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
输入输出样例
示例
输入
7
80
92
56
74
88
99
10
输出
99
10
71.29
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
总通过次数: 36738 | 总提交次数: 39288 | 通过率: 93.5%
难度: 简单 标签: 2020, 模拟, 暴力, 省赛
解题思路
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
// 请在此输入您的代码
int n;
cin>>n;
int max=0,min=100,c;
double sum=0;
for(int i=0;i<n;i++)
{
cin>>c;
if(c>max)
{
max=c;
}
if(min>c)
{
min=c;
}
sum=sum+c;
}
cout<<max<<endl<<min<<endl;
cout<<fixed<<setprecision(2)<<sum/n;
return 0;
}
注意事项:
主要是数组的取值范围,以及浮点数如何保留小数
这里利用了#include <iomanip>函数库中的setprecision(2) 函数来进行取值。
-
输入部分:获取用户输入的数字n和n个整数
int n; cin>>n; int c; // 获取n个整数 for(int i=0;i<n;i++) { cin>>c; // 对c进行处理 }
这部分代码负责获取输入的数量n和n个整数,并将每个整数存储到变量c中。
-
计算最大值和最小值:
int max=0, min=100; for(int i=0;i<n;i++) { cin>>c; if(c>max) { max=c; } if(min>c) { min=c; } }
这部分代码循环遍历输入的n个数字,通过比较更新max和min的数值。
-
计算平均值并输出结果:
double sum=0; for(int i=0;i<n;i++) { cin>>c; sum=sum+c; } cout<<max<<endl<<min<<endl; cout<<fixed<<setprecision(2)<<sum/n;
这部分代码负责计算n个数的总和,并输出最大值max、最小值min以及平均值sum/n。