蓝桥杯——练习(3.25)

蓝桥杯——练习(3.25)

历届试题 成绩分析

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T800

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

请计算这次考试的最高分、最低分和平均分。

输入格式

输入的第一行包含一个整数 n,表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出格式

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

样例输入

7
80
92
56
74
88
99
10

Data

样例输出

99
10
71.29

Data

评测用例规模与约定

对于 50% 的评测用例,1≤n≤100。

对于所有评测用例,1≤n≤10000。

解题思路

  • 分析本题可知,本题是求出输入的最大最小值以及平均值。
  • 可以将数据存入数组,并进行排序
  • 排完序后便可以知道最大最小值
  • 在遍历的同时,将每个数据的和存放到一个变量中,最后再除以数据的个数便是平均值。
  • 注意最后的输出格式。

代码

#include
#include
#include
using namespace std;
int main()
{
	int highest,lowest;
	double average;
	int n;
	cin>>n;
	int score[n];
	int sum=0;
	for(int i=0;i<n;i++)
		cin>>score[i];
	sort(score,score+n);
	for(int j=0;j<n;j++)
	{
		sum+=score[j];
	}
	cout<<score[n-1]<<endl;
	cout<<score[0]<<endl;
	average=sum*1.0/n;
	cout<<fixed<<setprecision(2)<<average<<endl;
	return 0;
}

你可能感兴趣的:(蓝桥杯学习,c++)