题目描述
输入一串数字,请输出每个数排序后的编号(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<<" ";
}