统计成绩 C++题解

该文章描述了一个编程题目,要求通过C++实现,统计N个学生的三门课程总平均成绩,保留两位小数,并找出总分最高的学生的详细信息。输入是学生的学号、姓名和成绩,输出格式包括各科平均成绩和最高分学生的数据。
摘要由CSDN通过智能技术生成

统计成绩

内存限制: 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;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值