1036 Boys vs Girls
题目大意
寻找男生最低分和女生最高分
算法思想
- 一个循环,可以边输入边寻找
- 按要求输出就好
代码
#include<iostream>
#include<vector>
using namespace std;
struct student {
string name, id, gender;
int grade;
};
int main() {
int n, low=110, high=-1;
cin >> n;
student ml, fh, v;
for (int i = 0; i < n; i++) {
cin >> v.name >> v.gender >> v.id >> v.grade;
if (v.gender == "M" && v.grade<low) {//找男生成绩最小
low = v.grade;
ml = v;
}
else if (v.gender == "F" && v.grade > high) {//找女生成绩最高
high = v.grade;
fh = v;
}
}
if (low == 110 && high != -1)//男生缺席
cout << fh.name << " " << fh.id << endl << "Absent" << endl << "NA";
else if (low != 110 && high == -1)//女生缺席
cout << "Absent" << endl << ml.name << " " << ml.id << endl << "NA";
else if (low == 110 && high == -1)//都缺席
cout << "Absent" << endl << "Absent" << endl << "NA";
else//都在
cout << fh.name << " " << fh.id << endl << ml.name << " " << ml.id << endl << high - low;
return 0;
}