1 条题解

  • 0
    @ 2026-1-29 22:45:13
    #include<bits/stdc++.h>
    using namespace std;
    // arr-存储学生成绩,sch-存储对应奖学金
    int arr[110], sch[110];
    
    int main() {
        // [1] 读取学生人数n
        int n;
        cin >> n;
        
        // [2] 读取n个学生的成绩
        for (int i = 0; i < n; i++) {
            cin >> arr[i];
        }
        
        // [3] 对成绩进行降序排序(从高到低排列)
        sort(arr, arr + n, greater<int>());
        
        // [4] 根据排名确定每个学生的奖学金
        for (int i = 0; i < n; i++) {
            if (i < 2) {
                sch[i] = 500; // 前2名一等奖
            } else if (i < 6) {
                sch[i] = 300; // 第3-6名二等奖(共4人)
            } else if (i < 10) {
                sch[i] = 100; // 第7-10名三等奖(共4人)
            } else {
                sch[i] = 0; // 其余无奖学金
            }
        }
        
        // [5] 输出每个学生的成绩和对应的奖学金
        for (int i = 0; i < n; i++) {
            cout << arr[i] << " " << sch[i] << endl;
        }
        
        return 0;
    }
    
    • 1

    信息

    ID
    527
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者