按顺序输出每个人跳远距离的排名.
数据结构自定义排序,输出有点麻烦
#include<iostream>
#include<algorithm>
using namespace std;
struct stu
{
int number;
int max;
int lv;
};
bool cmp(stu x,stu y)
{
return x.max>y.max;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
stu a[n+1];
int i,j;
for(i=1;i<=n;i++)
{
a[i].number=i;
int x=0;
for(j=0;j<3;j++)
{
int y;
cin>>y;
x=max(x,y);
}
a[i].max=x;
}
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++)
{
a[i].lv=i;
}
for(i=1;i<=n;i++)
{
if(a[i].number==1)
{
cout<<a[i].lv;
}
}
for(i=2;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(a[j].number==i)
{
cout<<' '<<a[j].lv;
}
}
}
cout<<endl;
}
return 0;
}