问题标题: 酷町堂:2703

0
0

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
我要回答