文章

4

粉丝

223

获赞

4

访问

20.2k

头像
特殊的排序规则
P1338 浙江大学机试题
发布于2022年8月12日 09:27
阅读数 4.9k

利用空格分别输入学号、姓名与成绩信息,编写比较函数实现排序规则:

1. 当C=1时,直接根据学号排序

2. 当C=2时,如果姓名相同,则根据学号排序;否则根据姓名排序

3. 当C=3时,如果成绩相同,则根据学号排序;否则根据成绩排序

#include <bits/stdc++.h>
using namespace std;

struct Student {
    char no[6];
    int grade;
    char name[10];
};

int C;

bool cmp(Student a, Student b) {
    if(C == 1) {
        return strcmp(a.no, b.no) < 0;
    }
    else if(C == 2) {
        if(strcmp(a.name, b.name) == 0)
            return strcmp(a.no, b.no) < 0;
        return strcmp(a.name, b.name) < 0;
    }
    else {
        if(a.grade == b.grade)
            return strcmp(a.no, b.no) < 0;
        ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发