c++成绩分析(2020蓝桥杯F题)

题目描述

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

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

输入描述

输入的第一行包含一个整数 n\ (1 ≤ n ≤ 10^4)n (1≤n≤10
4),表示考试人数。
接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

输入输出样例

输入

7
80
92
56
74
88
99
10
copy

输出

99
10
71.29
copy
运行限制
最大运行时间:1s
最大运行内存: 256M

#include <bits/stdc++.h>
using namespace std;
int main()
{
  int n;
  int x;
  int max=0;
  int min=100;
  int sum=0;
  int cnt=0;
  cin>>n;
 for(int i=1;i<=n;i++){
   cin>>x;


   if(x>max) max=x;
   if(x<min) min=x;

  sum=sum+x;
  cnt++;
  
 }
 cout<<setprecision(0)<<fixed<<max<<endl;
  cout<<setprecision(0)<<fixed<<min<<endl;
   cout<<setprecision(2)<<fixed<<(1.0*sum/cnt)<<endl;;
  return 0;
}



其他方法:(直接引用库中的函数)

image

保存为4舍五入的形式:

#include <bits/stdc++.h>
using namespace std;
int main()
{
  int n;
  int x;
  int max=0;
  int min=100;
  int sum=0;
  int cnt=0;
  float average;
  cin>>n;
 for(int i=1;i<=n;i++){
   cin>>x;


   if(x>max) max=x;
   if(x<min) min=x;

  sum=sum+x;
  cnt++;
  
  
 }
 average=1.0*sum/n;
 average=round(average*100)/100;
 cout<<setprecision(0)<<fixed<<max<<endl;
  cout<<setprecision(0)<<fixed<<min<<endl;
   printf("%.2f",average);
  return 0;
}
posted @ 2022-11-22 19:40  Selina风乎舞雩  阅读(142)  评论(0)    收藏  举报