题解 | #成绩排序#

成绩排序

http://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7



#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

struct Student {
    int number;
    int score;
};

const int MaxSize = 100 + 10;

Student arr[MaxSize];

bool Compare(Student x , Student y){
    if(x.score == y.score)
        return x.number < y.number;
    else
        return x.score < y.score;
    
}

int main(){
    
    int n = 0;
    //while(scanf("%d",&n)!=EOF)
    scanf("%d",&n);
    for(int i = 0; i<n;i++){
        scanf("%d%d",&arr[i].number,&arr[i].score);
    }
    sort(arr, arr + n , Compare);
    for(int i = 0; i<n ;i++){
        cout << arr[i].number << " " << arr[i].score << endl;
    }
    return 0;
    
}
//直接从结构体定义中定义大小,此为默认比较方法,不需要compare函数。
struct Student {
    int number;
    int score;
    bool operator< (Student student) const {
        if (score == student.score){
            return number < student.number;
        }else {
            return score < student.score;
        }
    }
}
全部评论

相关推荐

狠赚笔第一人:学计算机自己不努力怪大环境?我大一就拿到了美团大厂的offer,好好看看自己有没有努力查看图片
点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务