2019-08-07 A1036

又是同一类型的题目但是却又没有轻易地ac,这个原因我至今没找到,应该是输出部分的代码有问题,有一个测试点一直显示答案错误,换成柳神的输出代码便ac了。

#include <iostream>
using namespace std; 
int main() {
    int n, grade;
    string name, id, hname, lname, hid, lid, gender;
    int max = -1, min = 101;
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        cin >> name >> gender >> id;
        scanf("%d", &grade);
        if(gender == "F"){
            if(grade > max){
            max = grade;
            hname = name;
            hid = id;   
            }
        }
        else if(gender == "M"){
            if(grade < min){
                min = grade;
                lname = name;
                lid = id;
            }
        }
        
    }
    if(max != -1)
        cout << hname << " " << hid << endl;
    else
        printf("Absent\n");
    if(min != 101)
        cout << lname << " " << lid << endl;
    else
        printf("Absent\n");
    if(max != -1 && min != 101)
        printf("%d", max - min);
    else
        printf("NA");

    return 0;
}

之前我的输出部分的代码是这样的:

    if(max == -1 )
        cout << "Absent" << endl << lname << " " << lid << endl << "NA";
    else if(min == 101)
        cout << "Absent" << endl << hname << " " << hid << endl << "NA";
    else if(max != -1 && min != 101){
        cout << hname<< " " << hid << endl;
        cout << lname << " " << lid << endl << max - min;
    }

不过这段代码看上去就啰嗦得很一点也不简洁。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 古今中外没有一个不骂人的人。骂人就是有道德观念的意思,因为在骂人的时候,至少在骂人者自己总觉得那人有该骂的地方。何...
    幻无名阅读 4,168评论 0 2
  • 在地铁口文/默默你在我不知所措转身时看到了我一道白色的闪亮掉进不太疲惫的眼睛我很快瞥见黄昏的余辉里白天和黑夜即将上...
    荔园默默阅读 1,396评论 8 17
  • 边伯贤最近看上了隔壁班的班长大人. 朴灿烈.
    草莓甜贤阅读 1,522评论 0 1
  • 给小耳朵哄睡了,这一小时的自由时间我又可以好好发挥了[奸笑] 今天双喜临门,我们温柔小青椒只用了5天时间就升上了总...
    小耳朵猫咪阅读 2,472评论 0 0

友情链接更多精彩内容