#include #include #include using namespace std;

struct Student { string name; int avgGrade; int classGrade; bool isCadre; bool isWestern; int paperNum; int scholarship; };

bool compare(Student s1, Student s2) { if (s1.scholarship != s2.scholarship) { return s1.scholarship > s2.scholarship; } else { return s1.name < s2.name; } }

int main() { int N; cin >> N; vector students(N); for (int i = 0; i < N; i++) { cin >> students[i].name >> students[i].avgGrade >> students[i].classGrade >> students[i].isCadre >> students[i].isWestern >> students[i].paperNum; students[i].scholarship = 0; if (students[i].avgGrade > 80 && students[i].paperNum >= 1) { students[i].scholarship += 8000; } if (students[i].avgGrade > 85 && students[i].classGrade > 80) { students[i].scholarship += 4000; } if (students[i].avgGrade > 90) { students[i].scholarship += 2000; } if (students[i].avgGrade > 85 && students[i].isWestern) { students[i].scholarship += 1000; } if (students[i].classGrade > 80 && students[i].isCadre) { students[i].scholarship += 850; } } sort(students.begin(), students.end(), compare); int totalScholarship = 0; for (int i = 0; i < N; i++) { totalScholarship += students[i].scholarship; } cout << students[0].name << endl; cout << students[0].scholarship << endl; cout << totalScholarship << endl; return 0; }

C++ 奖学金计算程序:优化算法和代码

原文地址: https://www.cveoy.top/t/topic/qoZD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录