考试排名
描述
期末考试又要来了(正在进行中?),梦老师对于考试后的排名头疼不已。忽然梦老师脑中闪过一个“可怕的”想法,没错,就是让正在考试的你写一个程序,帮助他完成考试成绩的排名!
输入n个学生的姓名与成绩,把它们按照成绩从大到小排序后输出。当多名学生的成绩相同时,则姓名字典序小的在前。
梦老师会把所有姓名与成绩输入在一个文件中,你需要从该文件中读入数据,完成排序并输出到另一个文件中。
输入 (读取文件: score.in)
输入文件名为"score.in"。第1行包含一个整数n(n<=10,000),表示学生人数。接下去n行,每行由学生的姓名(字符数<=20的字符串)和成绩(<=400的整数)组成。
输出 (写入文件: score.out)
输出文件名为"score.out"。按照题目要求,输出排序后的n名学生的信息。共n行,每行1个学生的姓名和成绩。
输入样例
4
Lucy 305
Alice 305
John 400
Bob 165
输出样例
John 400
Alice 305
Lucy 305
Bob 165
提示
对于样例,由于Alice和Lucy同分且Alice的字典序小于Lucy,因此Alice排在Lucy前面。
数据规模与约定
对于30%的数据,n<=10且保证所有学生的姓名都是"Student",不含双引号;
另有20%的数据,n<=100且保证不存在同分的情况;
对于100%的数据,n<=10,000。
分析:
这道题实际上就是考察结构体排序的内容 + 数据输入输出,自己写一个排序函数就好啦(^-^)V
#include <bits/stdc++.h>
using namespace std;