【PAT甲级】1036. Boys vs Girls (25)

#include <stdio.h>
#include <algorithm>
#include <deque>
using namespace std;
typedef struct Stu {
    char name[11];
    char gender;
    char course[11];
    int grade;
} Stu;
deque<Stu> q;
bool com(Stu a, Stu b) {
    if (a.gender < b.gender) return true;
    else if (a.gender == b.gender && a.grade > b.grade) return true;
    return false;
}

int main(int argc, char *argv[]) {
    int n;
    scanf("%d", &n);
    int i;
    char a[11], b, c[11];
    int g;
    for (i = 0; i < n; i++) {
        Stu s;
        scanf("%s %c %s %d", s.name, &s.gender, s.course, &s.grade);
        q.push_back(s);
    }
    sort(q.begin(), q.end(), com);
    int flag = true;
    if (q.size() == 0) {
        printf("Absent\nAbsent\nNA\n");
    } else if (q.size() >= 1) {

        if (q.front().gender == 'F') {
            printf("%s %s\n", q.front().name, q.front().course);
        } else {
            printf("Absent\n");
            flag = false;
        }
        if (q.back().gender == 'M') {
            printf("%s %s\n", q.back().name, q.back().course);
        } else {
            printf("Absent\n");
            flag = false;
        }
        if (flag == true) {
            printf("%d\n", q.front().grade - q.back().grade);
        } else {
            printf("NA\n");
        }
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值