HJ68.成绩排序 C语言 结构体 qsort

成绩排序

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

#include <stdio.h>
#include <stdlib.h>

typedef struct Grade {
    char name[21];
    int value;
};

int cmp1(const void* a, const void* b) {
    return (*(struct Grade*)a).value - (*(struct Grade*)b).value;
}

int cmp0(const void* a, const void* b) {
    return (*(struct Grade*)b).value - (*(struct Grade*)a).value;
}

int main() {
    int N, op, i;
    scanf("%d", &N);
    scanf("%d", &op);
    struct Grade grades[N];
    for (i = 0; i < N; i++) {
        scanf("%s %d", grades[i].name, &grades[i].value);
    }

    if (op == 1) {
        qsort(grades, N, sizeof(struct Grade), cmp1);
    }

    if (op == 0) {
        qsort(grades, N, sizeof(struct Grade), cmp0);
    }

    for (i = 0; i < N; i++) {
        printf("%s %d\n", grades[i].name, grades[i].value);
    }

    return 0;
}


全部评论

相关推荐

zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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