成绩排序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;
}
相关推荐
asdfg125896320 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
dsyyyyy110120 小时前
JavaScript变量
开发语言·javascript·ecmascript
‎ദ്ദിᵔ.˛.ᵔ₎20 小时前
双指针、滑动窗口、前缀和、二分查找 算法
算法
顾北顾21 小时前
多头注意力机制
人工智能·深度学习·算法
H1785350909621 小时前
SolidWorks_基于草图的实体特征20_特征错误排查
算法·3d建模·solidworks
hujinyuan2016021 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(二级) 真题+答案
人工智能·算法·机器人
玖玥拾21 小时前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
z落落21 小时前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
allway221 小时前
How to Echo Multiline to a File in Bash [3 Methods]
开发语言·chrome·bash
weixin_4624462321 小时前
手把手教你用 Bash 脚本自动更新 /etc/hosts —— 自动绑定网卡 IP 与节点名
开发语言·tcp/ip·bash