没错又是我这个蒟蒻......
  • 板块灌水区
  • 楼主玖沂
  • 当前回复18
  • 已保存回复18
  • 发布时间2022/2/1 18:37
  • 上次更新2023/10/28 09:53:03
查看原帖
没错又是我这个蒟蒻......
409013
玖沂楼主2022/2/1 18:37
【题目描述】
输入n位同学的姓名和成绩,请输出前三名的信息
【输入格式】
第一行一个正整数n,表示学生人数
接下来n行,每行一个正整数score和一个字符串name,分别表示成绩和姓名
【输出格式】
3行,每行每行一个正整数score和一个字符串name,分别表示成绩和姓名
要求按照成绩从大到小的顺序输出,若成绩相同,则按照输入顺序从小到大输出
【数据范围】
对于100%的数据:3<=n<=1000,1<=score<=100,1<=|name|<=100;其中|name|表示姓名的长度
#include<bits/stdc++.h>
using namespace std;
struct stu{
	int score;
	string name;
}s[1001];
bool cmp(stu a,stu b){
	return a.score>b.score;
}
int main(){
	int n;
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >> s[i].score;
		cin >> s[i].name;
	}
	sort(s+1,s+1+n,cmp);
	for(int i=1;i<=3;i++){
		cout << s[i].score << " ";
		cout << s[i].name << endl;
	}
	return 0;
}

某些数据: 1 2

2022/2/1 18:37
加载中...