1 条题解

  • 0
    @ 2026-1-30 18:42:42
    #include <iostream>
    using namespace std;
    
    int main() {
        int n;                        // 参赛选手的总人数
        // [1] 输入选手人数n
        cin >> n;
        int arr[1005];                // 存储每位选手的成绩(统一数组名arr)
        // [2] 循环输入n位选手的成绩,依次存入数组arr
        for (int i = 0; i < n; ++i) {
            cin >> arr[i];
        }
    
        // [3] 遍历每位选手,计算其对应的并列名次
        for (int i = 0; i < n; ++i) {
            int sum = 0;              // 累加比当前选手分数高的人数(统一累加名sum)
            // [4] 对比所有选手成绩,统计分数高于当前选手的人数并累加
            for (int j = 0; j < n; ++j) {
                if (arr[j] > arr[i]) {
                    sum++;            // 满足条件,累加计数
                }
            }
            // [5] 并列名次 = 分数更高的人数 + 1,输出结果并空格分隔
            cout << sum + 1 << " ";
        }
    
        return 0;
    }
    
    • 1

    信息

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