题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

#include <stdio.h>
#include <string.h>

typedef struct per{
    int text;
    char name[20];
}pere;



int main(){

    int n, m;
    scanf("%d %d", &n, &m);
    pere ren[n];

    for(int i = 0; i < n; i++){
        scanf("%s %d",ren[i].name, &ren[i].text);
    }

    pere tmp;

    if(m == 1){
        for(int i = 0; i < n; i++){
            for(int j = 0; j < n - 1; j++){
                if(ren[j].text > ren[j + 1].text){
                    tmp = ren[j];
                    ren[j] = ren[j + 1];
                    ren[j + 1] = tmp;
                }
            }
        }
    }
    else if(m == 0){
        for(int i = 0; i < n; i++){
            for(int j = 0; j < n - 1; j++){
                if(ren[j].text < ren[j + 1].text){
                    tmp = ren[j];
                    ren[j] = ren[j + 1];
                    ren[j + 1] = tmp;
                }
            }
        }    
    }

    for(int i = 0; i < n; i++){
        printf("%s %d\n", ren[i].name, ren[i].text);

    }

    return 0;
}

全部评论
冒泡排序
点赞 回复 分享
发布于 2023-03-15 00:32 陕西

相关推荐

头像
10-15 22:27
已编辑
门头沟学院 C++
罗格镇的小镇做题家:我投了hr打电话来说学历太低了不符合要求,建议投荣耀,结果荣耀也投了一定水花没有,非本211硕
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务