文章
17
粉丝
43
获赞
10
访问
14.5k
注意必须自定义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;
}
登录后发布评论
暂无评论,来抢沙发