This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
#include <bits/stdc++.h>
using namespace std;
// 学生的结构体
struct Node {
string name;
int math;
int english;
};
// 函数实现
bool cmp(Node &a, Node &b) {
if (a.math == b.math)
return a.english > b.english; // math相等,按endlish从大到小排序23
return a.math > b.math; // 按math从大到小排序
}
int main() {
// 先按math从大到小排序,math相等,按english从大到小排序
Node a[4] = {{"XiaoMing", 67, 89}, {"LiLei", 90, 56}, {"ZhaoSi", 90, 99}};
sort(a, a + 3, cmp);
for (int i = 0; i < 3; i++)
cout << a[i].name << " " << a[i].math << " " << a[i].english << endl;
return 0;