#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct Student {
    string name;
    int avgScore;
    int evalScore;
    bool isCadre;
    bool isWestern;
    int paperNum;
    int scholarship;
};

bool compare(Student s1, Student s2) {
    return s1.scholarship > s2.scholarship;
}

int main() {
    int N;
    cin >> N;

    vector<Student> students(N);
    for (int i = 0; i < N; i++) {
        cin >> students[i].name >> students[i].avgScore >> students[i].evalScore 
            >> students[i].isCadre >> students[i].isWestern >> students[i].paperNum;
        
        students[i].scholarship = 0;
    }

    for (int i = 0; i < N; i++) {
        if (students[i].avgScore > 80 && students[i].paperNum >= 1) {
            students[i].scholarship += 8000;
        }
        if (students[i].avgScore > 85 && students[i].evalScore > 80) {
            students[i].scholarship += 4000;
        }
        if (students[i].avgScore > 90) {
            students[i].scholarship += 2000;
        }
        if (students[i].avgScore > 85 && students[i].isWestern) {
            students[i].scholarship += 1000;
        }
        if (students[i].evalScore > 80 && students[i].isCadre) {
            students[i].scholarship += 850;
        }
    }

    sort(students.begin(), students.end(), compare);

    cout << students[0].name << endl;
    cout << students[0].scholarship << endl;

    int totalScholarship = 0;
    for (int i = 0; i < N; i++) {
        totalScholarship += students[i].scholarship;
    }
    cout << totalScholarship << endl;

    return 0;
}

代码说明:

  1. 结构体定义: 使用 Student 结构体存储每个学生的信息,包括姓名、期末平均成绩、班级评议成绩、是否学生干部、是否西部省份学生、发表论文数量以及奖学金总额。
  2. 输入数据: 从标准输入读取学生数量 N 和每个学生的信息,并初始化每个学生的奖学金总额为 0。
  3. 计算奖学金: 遍历所有学生,根据每个学生满足的条件计算其可获得的奖学金金额并累加到 scholarship 属性中。
  4. 排序: 使用 sort 函数按照奖学金总额降序排列所有学生。
  5. 输出结果: 输出获得最高奖学金的学生姓名和奖金总额,以及所有学生奖学金总额。

示例:

输入:

4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1

输出:

ChenRuiyi
9000
28700
C++ 代码实现:奖学金计算

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

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