大佬,我编译错误,自己没有找到错误(求)
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct sdt {
string num;
double grade;
} stu1[50] = {};
sdt stu2[50] = {};
bool cmp_score(sdt x, sdt y) {
return x.grade > y.grade;
}
int n;
int main() {
cin >> n;
string u;
int k1 = 0, k2 = 0;
for (int i = 0; i < n; i++) {
cin >> u;
if (u[0] == 'm') {
stu1[k1 ++].num = u;
cin >> stu1[k1 ++].grade;
} else {
stu2[k2 ++].num = u;
cin >> stu2[k2 ++].grade;
}
}
sort(stu1, stu1 + k1);
sort(stu2, stu2 + k2, cmp_score);
for (int i = 0; i < k1 - 1; i++) {
cout << stu1[i].num << ' ' << stu1[i].grade << endl;
}
for (int i = 0; i < k2 - 1; i++) {
cout << stu2[i].num << ' ' << stu2[i].grade << endl;
}
return 0;
}