c++中的结构以一类

题目描述
输入一串数字,请输出每个数排序后的编号(rank值)

输入格式
第1行,一个整数N,范围(1<=N<=10000);第2行,有N个不相同的整数,每个数都是int范围的。

输出格式
依次输出每个数的排名。

输入输出样例
输入 #1复制
5
8 2 6 9 4
输出 #1复制
4 1 3 5 2

开一个结构体,记录数值和编号。

#include<iostream>
#include<algorithm>
struct node{
    int num,id;
}a[10005];

book cmp(node a,node b){
    return a.num>b.num;
}
//主函数部分
int n;
cin>>n;
for(int i=1;i<=n;i++){
    cin>>a[i].num;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
    cout<<a[i].id<<" ";
}