成绩排序c++

说明

给出了班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

输入格式

第一行为nn(0<n<200<n<20),表示班里的学生数目;

接下来的nn行,每行为每个学生的名字和他的成绩,中间用单个空格隔开。名字只包含字母且长度不超过2020,成绩为一个不大于100100的非负整数。

输出格式

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

样例

输入数据 1

复制代码
4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28

Copy

输出数据 1

复制代码
Joey 92
Hanmeimei 90
Kitty 80
Tim 28

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
struct s{
	string m;
	int f;
}a[21];
bool d(s b,s c){
	if(c.f==b.f)return b.m<c.m;
	return b.f>c.f;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].m>>a[i].f;
	}
	sort(a+1,a+n+1,d);
	for(int i=1;i<=n;i++){
		cout<<a[i].m<<" "<<a[i].f<<endl;
	}
	return 0;
}
相关推荐
天马行空-9 分钟前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
Z***258018 分钟前
Java计算机视觉
java·开发语言·计算机视觉
Tiger_shl25 分钟前
SqlConnection、SqlCommand 和 SqlDataAdapter
开发语言·数据库·c#
一点事26 分钟前
ruoyi:集成mybatisplus实现mybatis增强
java·开发语言·mybatis
hweiyu0028 分钟前
数据结构:数组
数据结构·算法
你的冰西瓜32 分钟前
C++14 新特性详解:相较于 C++11 的主要改进
开发语言·c++·stl
linksinke33 分钟前
Mapstruct引发的 Caused by: java.lang.NumberFormatException: For input string: ““
java·开发语言·exception·mapstruct·numberformat·不能为空
无限进步_39 分钟前
C语言单向链表实现详解:从基础操作到完整测试
c语言·开发语言·数据结构·c++·算法·链表·visual studio
初夏睡觉40 分钟前
循环比赛日程表 题解
数据结构·c++·算法
好好研究1 小时前
SpringMVC框架 - 异常处理
java·开发语言·spring·mvc