【羊蜜不是羊】统计成绩(c++)

题目描述

张琪曼指导了10个魔法学徒,每个学徒的数据包括学号、姓名、三门课的成绩,从键盘输入10个学生的数据,要求打印出三门课总平均成绩,以及最高分的学生数据(包括学号、姓名、三门课成绩的平均分数)。

输入描述

标准输入,共10行数据,分别为每个学徒的学号(整型),姓名(不超过8个字符)和三门课的成绩,以空格间隔。

输出描述

标准输出,第一行为三门课总平均成绩,第二行为总平均成绩最高分(保证没有并列的最高成绩)的学徒数据(包括学号、姓名、平均分数)以空格间隔,输出的浮点数小数点后保留两位,不考虑四舍五入。

样例

输入

1 A 100 100 100
2 B 80 80 80 
3 C 80 80 80
4 D 80 80 80
5 E 80 80 80 
6 F 80 80 80
7 G 80 80 80
8 H 80 80 80 
9 I 80 80 70
10 J 80 80 80

输出

81.67
1 A 100.00
来源

算法宝典1 结构体

答案

#include<bits/stdc++.h>
using namespace std;

struct student{
	int id;
	char name[8];
	int score[3];
	double avg;
} arr[10];

int main(){		
	double sum = 0;
	for(int i = 0; i < 10; i++){
		cin >> arr[i].id >> arr[i].name;
		for(int j = 0; j < 3; j++){
			cin >> arr[i].score[j];
			arr[i].avg += arr[i].score[j];
		}
		arr[i].avg /= 3;
		sum += arr[i].avg;
	}
	
	int mx_i = 0;
	for(int i = 0; i < 10; i++){
		if(arr[mx_i].avg < arr[i].avg)
			mx_i = i;
	}
	
	cout << fixed << setprecision(2) << sum / 10 << "\n";
	cout << arr[mx_i].id << " " << arr[mx_i].name << " ";
	cout << fixed << setprecision(2) << arr[mx_i].avg;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值