题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7
#include <iostream> #include<algorithm> using namespace std; struct stu { int number; int grade; }; bool cmp(stu a,stu b) { if(a.grade!=b.grade)return a.grade<b.grade; else return a.number<b.number; } int main() { int n; while (cin >> n) { // 注意 while 处理多个 case stu *a=(stu*)malloc(sizeof(stu)*n); for(int i=0;i<n;i++)cin>>a[i].number>>a[i].grade; sort(a,a+n,cmp); for(int i=0;i<n;i++)cout<<a[i].number<<" "<<a[i].grade<<endl; } } // 64 位输出请用 printf("%lld")