题解 | #成绩排序#

成绩排序

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

#include <stdio.h>
int main(){
    int number;
    scanf("%d", &number);
    //定义一个student结构体,包含学号和成绩
    struct student{
        int num;
        int grade;
    }student[number];
    //输入学生信息
    for (int i = 0; i < number; ++i) {
        scanf("%d %d", &student[i].num, &student[i].grade);
    }
    //冒泡排序
    struct student temp;
    for (int i = 0; i < number-1; ++i) {
        for (int j = 0; j < number - 1 - i; ++j) {
            if((student[j].grade > student[j+1].grade)
            || ((student[j].grade == student[j+1].grade) && student[j].num > student[j+1].num)){
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
    //输出
    for (int i = 0; i < number; ++i) {
        printf("%d %d\n", student[i].num, student[i].grade);
    }
    return 0;
}

全部评论

相关推荐

01-16 18:34
四川大学 Java
欢迎加入AI:没有啥稳定不稳定,一切都源于业务快速发展还是收缩。我当年一开始去的央企,业务不赚钱,也贼卷,慢慢就开始优化了。。。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务