文章

34

粉丝

0

获赞

6

访问

1.1k

头像
成绩排序 - 华科 题解(构造比较函数,轻松解决):
P1404 华中科技大学
发布于2025年8月6日 19:34
阅读数 40

#include<bits/stdc++.h>
using namespace std;

struct Student{
	string name;
	int age;
	int grade;
};

int main(){
	
	int n;
	while(cin >> n){
		vector<Student> students(n);
		for(int i = 0; i < n; i ++){
			cin >> students[i].name >> students[i].age >> students[i].grade;
		}
		
		sort(students.begin(), students.end(), [](Student a, Student b){
			if(a.grade == b.grade){
				if(a.name == b.name) return a.age < b.age;
				else return a.name < b.name;
			}else return a.grade < b.grade;
		});
		
		for(Student& stu : students){
			cout << stu.name << " " << stu.age << " " << stu.grade << '\n';
		}
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发