m0_63059511 2022-08-08 16:13 采纳率: 100%
浏览 102
已结题

noi成绩排序(c++)

c++,noi成绩排序那题试了好多次都是wrong answer,但是自己实在找不出问题,有人来帮忙看看代码哪出错了吗?

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
struct node{
    char a[20];
    int b;
};
bool cmp(node x,node y)
{
    if(x.b==y.b)
    {
        if(strcmp(x.a,y.a)<0)
        {
            return x.a>y.a;
        }
        else if(strcmp(x.a,y.a)>0)
        {
            return y.a>x.a;
        }
        else
        {
            return x.a>y.a;
        }
    }
    return x.b>y.b;
}
int main()
{
    int a,i,j;
    cin>>a;
    node b[a];
    for(i=0;i<a;i++)
    {
        cin>>b[i].a>>b[i].b;
    }
    sort(b,b+a,cmp);
    for(i=0;i<a;i++)
    {
        cout<<b[i].a<<" "<<b[i].b<<endl;
    }
    
}

  • 写回答

2条回答 默认 最新

  • m0_63059511 2022-08-08 16:38
    关注

    抱歉,我对sort函数不太理解,所以弄不懂怎么在cmp函数里比较字典序并进行排序,请问一下该怎么弄呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 8月8日