0
已采纳
你好,张希晨
这题需要先定义两个一维数组,一个用来存积分,另一个存编号,
再从大到小排序,中间判断:如果相等,交换序号,不相等,两个都交换
最后输出序号数组,上代码
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=d;
d++;
}
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[i]<a[j])
{
swap(a[i],a[j]);
swap(b[i],b[j]);
}
if(a[i]==a[j]&&b[i]>b[j])
{
swap(b[i],b[j]);
}
}
}
for(int i=1;i<=n;i++)
{
cout<<b[i]<<" "<<b[i+1]<<endl;
i++;
d开始为1
0

