NC220713. 这是一道难题
描述
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。
请计算这次考试的最高分、最低分和平均分。
输入描述
输入的第一行包含一个整数n,表示考试人数。接下来n行,每行包含一个0至100的整数,表示一个学生的得分。
输出描述
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
示例1
输入:
7 80 92 56 74 88 99 10
输出:
99 10 71.29
C(gcc 7.5.0) 解法, 执行用时: 3ms, 内存消耗: 384K, 提交时间: 2022-10-20 20:35:41
#include<stdio.h> int main() { int n,a,b=0,ret=0,c=100,d; double s; scanf("%d",&n); d=n; while(n--) { scanf("%d",&a); ret+=a; if(a>b)b=a; if(a<c)c=a; } s=ret*1.0/d; printf("%d\n%d\n%.2f",b,c,s); return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 4ms, 内存消耗: 476K, 提交时间: 2023-04-08 10:02:52
#include<iostream> using namespace std; int main(){ int n,a,b,s; double m=0; cin>>n>>a; b=a,m+=a; for(int i=1;i<n;i++){ cin>>s; if(s>a) a=s; if(s<b) b=s; m+=s; } printf("%d\n%d\n%.2lf",a,b,m/n); return 0; }
Python3(3.9) 解法, 执行用时: 30ms, 内存消耗: 2836K, 提交时间: 2021-04-08 19:38:08
n=int(input()) ls=[] for i in range(n): ls.append(int(input())) print(max(ls)) print(min(ls)) print('%.2f'%(sum(ls)/n))