Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xếp hạng học sinh sau cuộc thi lập trình bằng C++

Mô tả bài toán

Cho mảng A rating của n học sinh. Xếp hạng: rating cao hơn → thứ hạng tốt hơn (số nhỏ hơn). Rating bằng nhau → cùng thứ hạng. Tìm thứ hạng từng học sinh.

Ví dụ

A=[3,5,3,4,5] → Output: [4,1,4,3,1]. (Rating 5: hạng 1; rating 4: hạng 3; rating 3: hạng 4).

Thuật toán

Với mỗi i, đếm số học sinh có rating > A[i], thứ hạng = count + 1.

Code C++

#include <bits/stdc++.h>
using namespace std;

void solve(vector A) {
    int n = A.size();
    for (int i = 0; i < n; i++) {
        int rank = 1;
        for (int j = 0; j < n; j++)
            if (A[j] > A[i]) rank++;
        cout << rank << (i+1 A = {3,5,3,4,5};
    solve(A);
    return 0;
}

Đầu vào / Đầu ra

Input: {3,5,3,4,5}

Output: 4, 1, 4, 3, 1,