时间限制: 1 Sec 内存限制: 128 MB
问题
问题描述
李华大学已经上过一个学期了,也了解了大学的考试,在没出成绩之前,他还是很担心的,在成绩出来后心里的那块石头终于落下了。但在成绩单上他看到了一些高中没见到的名词,成绩单上有每科的学分,自己获得学分,还有平均学分绩点。然后他问问了学长,学长告诉他成绩排名是按平均学分绩点来排的,并告诉他了平均学分绩点是如何算的,假设他的考试科门有高数,英语,导论,这3门的学分分别是5,4,4;学分绩点的计算:不及格的学分绩点为:0,及格的学分绩点为:学分*(成绩-50)*0.1;平均学分绩点的计算:总科目学分绩点相加除以总科目学分相加(结果保留两位小数)。
假设李华这3门的成绩分别为:97,85,87;取得的学分绩点分别为:23.5,14,14.8;平均学分绩点为:4.02。
他现在知道了室友的成绩但不知道平均学分绩点,他在第一学期学了程序,现在想用程序来计算并对一个寝室的人进行排名,大家来帮帮他。(按平均学分绩点从大到小的顺序排,平均学分绩点相同的,依次按照高数,英语,导论的顺序来排,都相等的按姓名的字典序排)
输入格式
第一行为一个整数n代表寝室的人数
每个学生的成绩占4行
一行包括姓名,
另三行是3科的科目名和成绩中间用空格隔开
输出格式
输出有n行,每行为一个学生的信息,学生信息按姓名 平均学分绩点 高数学分绩点 英语学分绩点 导论学分绩点 (中间用空格隔开,保留两位小数)
样例输入
3
LiHua
Math 97
English 85
Theory 87
Easter
Math 90
English 80
Theory 85
Aidan
Math 97
English 87
Theory 85
样例输出
Aidan 4.02 23.50 14.80 14.00
LiHua 4.02 23.50 14.00 14.80
Easter 3.54 20.00 12.00 14.00
题意
统计学生姓名和三科成绩,根据学分和成绩计算各个学生的绩点并排名
思路
可以使用三个函数来实现三种指令功能的调用,使用string []字符串数组来储存文件的名字和路径名字。
代码
#include <iostream>//头文件
#include <cstdio>//包含printf函数
using namespace std;
//定义储存室友数据的结构体
struct roomate
{
string Name,Sub[3];//姓名和三门学科,都是字符串变量