文章

17

粉丝

43

获赞

10

访问

14.5k

头像
成绩排序2.0 题解:
P1159 清华大学上机题
发布于2023年7月31日 09:13
阅读数 703

注意必须自定义cmp函数因为输入是结构体,所以不能直接在sort里面比较会出错,而采用定义一个实现想要功能的cmp来保证同等分数的时候学号优先,不同分数的时候 分数小的在前。

注意结构体定义的样子和结构体数组的定义。

#include<bits/stdc++.h>
using namespace std;

struct student
{
    int num;
    int score;
};

bool cmp(student x,student y)
{
    if(x.score==y.score) return x.num<y.num;
    else return x.score<y.score;
}

int main(){
    struct student p[105];
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>p[i].num;
        cin>>p[i].score;
    }

    sort(p,p+n,cmp);

        for(int i=0;i<n;i++)
    {
        cout<<p[i].num<<" "<<p[i].score<<endl;
    }


	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发