题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
请计算这次考试的最高分、最低分和平均分。
输入描述
输入的第一行包含一个整数 n\ (1 ≤ n ≤ 10^4)n (1≤n≤10
4),表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
输入输出样例
输入
7
80
92
56
74
88
99
10
输出
99
10
71.29
本题答案代码如下
#include <iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
int main()
{
int n;
cin>>n;
int Min=100;
int Max=0;
double sum=0;
double a=0;
for(int i=1;i<=n;i++)
{
int score;
cin>>score;
Min=min(score,Min);
Max=max(score,Max);
sum+=score;
}
a=sum/n;
cout<<Max<<endl;
cout<<Min<<endl;
cout<<fixed<<setprecision(2)<<a<<endl;
//或者是printf("%.2f",ave)
return 0;
}
答案较为简单,唯一要注意的两点是:
一.保留两位小数(两种方法)
①用C输出较为简单
printf("%.2f",a);
②C++输出
#include<iomanip>//输入头文件
cout<<fixed<<setprecision(n)<<a<<endl;//公式
//n是保留几位小数
//a是要输出的元素
二.重要头文件 algorithm
max():求两个数的最大值
min():求两个数的最小值
abs():求一个数的绝对值
swap():用来交换x和y的值
reverse():翻转
sort():排序
find(a,b,c):查找某数组指定区间a~b内是否有c,若有,则返回该位置的地址。
fill():填充
count():查找某值出现的次数
__gcd():求最大公因数(用二者乘积除以最大公因数即可得到最小公倍数,因此没有求最小公倍数的函数)
更多详细内容参照添加链接描述
后续会出很多蓝桥杯题目解析,主要是自己学习过程中遇到的问题,欢迎关注
评论区可一起探讨学习