[PAT解题报告] Boys vs Girls

简单题,给一些人的性别和成绩,求男生最低分和女生最高分的成绩差。
直接循环找最大值和最小值就可以了——注意不存在的时候的输出: Absent还有NA。

#include <algorithm>
#include <cstring>
#include <string>
#include <cstdio>
using namespace std;

string name[2], id[2];
int score[2] = {1000,-1000};
char s[100],p[100];

int main() {

int n;
    for (scanf("%d",&n);n;--n) {
        scanf("%s%s",s,p);
        bool male = (p[0] == 'M');
        int x;
        scanf("%s%d",p, &x);
        if ((male) && (score[0] > x)) {
            score[0] = x;
            name[0] = s;
            id[0] = p;
        }
        else if ((!male) && (score[1] < x)) {
            score[1] = x;
            name[1] = s;
            id[1] = p;
        }
    }
    if ((score[0] <= 100) && (score[1] >= 0)) {
        printf("%s %s\n%s %s\n%d\n",name[1].c_str(), id[1].c_str(), name[0].c_str(), id[0].c_str(), score[1] - score[0]);
    }
    else {
        if (score[1] >= 0) {
                        printf("%s %s\n",name[1].c_str(), id[1].c_str());
                }
                else {
                        puts("Absent");
                }
        if (score[0] <= 100) {
            printf("%s %s\n",name[0].c_str(), id[0].c_str());
        }
        else {
            puts("Absent");
        }
        puts("NA");
    }
    return 0;
}

原题链接: http://www.patest.cn/contests/pat-a-practise/1036


全部评论

相关推荐

鼠鼠没有找到暑期实习,简历太空了,感觉直接去秋招会完蛋,这个时间点找个日常实习混个简历,边实习边准备秋招有没有搞头啊
梦想是成为七海千秋:可以的完全可以的,找不到暑期就找日常,秋招之前还是有很多时间可以实习的,哪怕只实习了一个月都可以写在简历上
点赞 评论 收藏
分享
05-12 16:04
已编辑
江西财经大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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