统计成绩
内存限制: 128 MiB 时间限制: 2000 ms 标准输入输出 题目类型: 传统 评测方式: 文本比较
题目描述
半期考试结束了,几多欢喜几多愁!作为竞赛的选手,迟早是要经历大风大浪的,这点小小的涟漪无须太在意。但是对于成绩,还是要好好的分析一下的。
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,并保留两位小数,以及3门课总分最高的学生的数据(包括学号、姓名、3门课成绩,输出成绩时四舍五入留整数部分)(学号为整数,姓名为只包含字母,长度不超过10的字符串,3门课的成绩有可能是小数)
输入格式
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
输出格式
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
样例
样例输入
复制2
1 blue 90.0 80.0 70.0
2 clan 80.0 70.0 60.0
样例输出
复制85.00 75.00 65.00
1 blue 90 80 70
数据范围与提示
N <= 100
#include <bits/stdc++.h>
using namespace std;
int n, t;
double sum1, sum2, sum3, Max;
struct stu {
int id;
double x1, x2, x3;
char name[20];
} a[105];
int main() {
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> a[i].id >> a[i].name >> a[i].x1 >> a[i].x2 >> a[i].x3;
sum1 += a[i].x1;
sum2 += a[i].x2;
sum3 += a[i].x3;
if(a[i].x1 + a[i].x2 + a[i].x3 > Max) {
Max = a[i].x1 + a[i].x2 + a[i].x3;
t = i;
}
}
sum1 /= n;
sum2 /= n;
sum3 /= n;
printf("%.2lf %.2lf %.2lf\n", sum1, sum2, sum3);
printf("%d %s ", a[t].id, a[t].name);
printf("%d %d %d", int(a[t].x1 + 0.5), int(a[t].x2 + 0.5), int(a[t].x3 + 0.5));
return 0;
}