zoukankan      html  css  js  c++  java
  • 1036 Boys vs Girls (25 分)

    做了几个同类型题后,这种题基本是套路题了吧。

    1. 男生最低分数获得者的分数初始化为101、女生最高分数获得者的分数初始化为-1。
    2. 在读入学生信息时,根据其性别来判断:
      • 如果是男生,且分数低于当前变量M所记录的分数,则用他的信息覆盖M。
      • 如果是女生,且分数高于当前变量F所记录的分数,则用她的信息覆盖F。
    3. 分别分数是否为-1与101,若是,则说明不存在对应女生或男生的信息,输出Absent。之后,如果最高分数女生和最低分数男生的信息都存在,则输出他们的分数差;而只要最高分数女生与最低分数男生的信息中有一个不存在,则输出NA。
    struct Node
    {
        string name;
        char sex;
        string id;
        int grade;
    }cur,highest,lowest;
    int n;
    
    void init()
    {
        highest.grade=-1;
        lowest.grade=101;
    }
    
    int main()
    {
        init();
    
        cin>>n;
    
        for(int i=0;i<n;i++)
        {
            cin>>cur.name>>cur.sex>>cur.id>>cur.grade;
            if(cur.sex == 'F' && cur.grade > highest.grade)
                highest=cur;
            if(cur.sex == 'M' && cur.grade < lowest.grade)
                lowest=cur;
        }
    
        if(highest.grade < 0) puts("Absent");
        else cout<<highest.name<<' '<<highest.id<<endl;
    
        if(lowest.grade > 100) puts("Absent");
        else cout<<lowest.name<<' '<<lowest.id<<endl;
    
        if(highest.grade < 0 || lowest.grade > 100) puts("NA");
        else cout<<highest.grade-lowest.grade<<endl;
    
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    第一次团队作业
    第二次结对作业
    第一次结对作业
    制作简易的中文编译器
    第一次博客作业
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次编程作业
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14398846.html
Copyright © 2011-2022 走看看