1 条题解

  • 0
    @ 2026-1-29 15:00:09
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 定义学生结构体,存储成绩和对应的代号
    struct stu{
        int score;  // 存储学生的跳远成绩
        char c;     // 存储学生的代号(A/B/C/D/E)
    }arr[100100];  // 定义结构体数组,最多可存储100100个学生信息
    
    // [2] 自定义比较函数,用于成绩降序排序
    bool cmp(stu x, stu y){
        return x.score > y.score;  // 成绩高的学生排在前面
    } 
    
    int main(){
        char c = 'A';  // [3] 初始化第一个学生的代号为'A'
        // [4] 循环输入5名学生的成绩,并对应分配代号
        for(int i = 0; i < 5; i++){
            cin >> arr[i].score;  // 输入第i个学生的成绩
            arr[i].c = c + i;     // 分配代号:A+0=A, A+1=B...以此类推
        }
        // [5] 对结构体数组按成绩降序排序
        sort(arr, arr + 5, cmp);
        // [6] 循环输出排序后的学生代号,用空格分隔
        for(int i = 0; i < 5; i++){
            cout << arr[i].c << " "; 
        } 
        return 0;
    }
    
    • 1

    信息

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