题解 | #成绩排序#

成绩排序

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

//用一维数组存储学号和成绩,然后按成绩排序输出
//输入的第一行中包括一个整数N(1<=N<=100),它代表学生的个数
//接下来的N行中,每行包括两个整数p和q,分别代表每个学生的学号和成绩
//输出:按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来
//如果学生的成绩相同,那么按照学号的大小从小到大排序
#include <cstdio>
#include <algorithm>
using namespace std;
struct Student {
    int Stu_number;
    int Stu_grade;
};//分号不能省略
bool comp(Student lsh,Student rsh){
    //不发生交换的情况
    if(lsh.Stu_grade < rsh.Stu_grade){
        return true;
    }
    else if(lsh.Stu_grade == rsh.Stu_grade&&lsh.Stu_number <rsh.Stu_number){
        return true;
    }
    else
        return false;
}
int main(){
    Student arr[100];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d%d",&arr[i].Stu_number,&arr[i].Stu_grade);
    }
    sort(arr,arr+n,comp);
    for(int i=0;i<n;++i){
        printf("%d %d\n",arr[i].Stu_number,arr[i].Stu_grade);
    }
}

全部评论

相关推荐

程序员小白条:主要没亮点,项目也是网上的,平平无奇,那只能海投了,奖项总得有一些,然后就是现在最好是前后端都会,自己能做项目并且运维的,要么找星球项目改改,要么找个开源项目改改,自己能拓展功能才是主要的,跟做效率很低很低
点赞 评论 收藏
分享
昨天 14:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务