#include <iostream> #include<algorithm>//sort函数库头文件algorithm using namespace std; struct Student {//定义学生结构体 int number; int score; }; bool Compare(Student x, Student y) {//sort函数中的compare方法 if (x.score == y.score) {//如果成绩相同 return x.number < y.number;//学号小的再前 } else { return x.score < y.score;//成绩小的在前 } } int main() { int N; cin >> N; Student arr[100];//学生类数组 for (int i = 0; i < N; ++i) { cin >> arr[i].number >> arr[i].score; } sort(arr, arr + N, Compare);//排序,用Compare方法 for (int i = 0; i < N; ++i) { std::cout << arr[i].number << ' ' << arr[i].score << std::endl; } }