成绩排序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;
}
相关推荐
Jerry4 小时前
LeetCode 1047. 删除字符串中的所有相邻重复项
算法
可编程芯片开发6 小时前
基于霍尔传感器和PID控制器的有功功率检测控制系统simulink建模与仿真
算法
To_OC7 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
blueman88887 小时前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
我是坏垠8 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python
white_ant9 小时前
JDK LTS 版本升级迁移注意事项大全
java·开发语言
Bobolink_9 小时前
跨境业务网络环境评估,“干净、一致、独享”三个关键指标
开发语言·网络·php·跨境网络·网络环境
你怎么知道我是队长9 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
xingke9 小时前
C 语言多文件编程:(一)头文件、extern、编译链接
c语言·开发语言·多文件
战族狼魂9 小时前
GPT-5.6与Grok 4.5重磅发布
人工智能·算法·大模型·大语言模型