• PAT 乙级 1072 开学寄语(20 分)


    1072 开学寄语(20 分)

    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!

    jiyu.JPG

    本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。

    输入格式:

    输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位学生的姓名缩写(由 1-4 个大写英文字母组成)、个人物品数量 K(0 ≤ K ≤ 10)、以及 K 个物品的编号。

    输出格式:

    顺次检查每个学生携带的物品,如果有需要被查缴的物品存在,则按以下格式输出该生的信息和其需要被查缴的物品的信息(注意行末不得有多余空格):

    姓名缩写: 物品编号1 物品编号2 ……
    

    最后一行输出存在问题的学生的总人数和被查缴物品的总数。

    输入样例:

    4 2
    2333 6666
    CYLL 3 1234 2345 3456
    U 4 9966 6666 8888 6666
    GG 2 2333 7777
    JJ 3 0012 6666 2333
    

    输出样例:

    U: 6666 6666
    GG: 2333
    JJ: 6666 2333
    3 5

    此题仅需要注意一点,用整型0012输出时为12,建议用string存储


     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 string goodsWrong[6];//需要上交的编号
     6 int IDNum;////需要上交的数量 
     7 
     8 bool isExist(string number)
     9 {
    10     for(int i=0;i<IDNum;++i)
    11         if(number == goodsWrong[i])
    12             return true;
    13             
    14     return false;
    15 }
    16 
    17 int main()
    18 {
    19     string name,goodsID;
    20     int goodsNumber,students;// 个人物品数,商品ID,总学生数 
    21     int stu=0,goodsSum=0;//上交的学生数、物品数 
    22     
    23     cin>>students>>IDNum;
    24     
    25     for(int i=0;i<IDNum;++i)
    26         cin>>goodsWrong[i];
    27         
    28     for(int i=0;i<students;++i)
    29     {
    30         cin>>name>>goodsNumber;
    31         
    32         bool first = true;//记录是否是该学生第一个输出的数 
    33         
    34         for(int j=0;j<goodsNumber;++j)
    35         {
    36             cin>>goodsID;
    37             
    38             if(isExist(goodsID))//存在违禁商品 
    39             {
    40                 if(first)//如果是第一次输出就要输出名字 
    41                 {
    42                     ++stu;
    43                     first = false;
    44                     cout<<name<<":";
    45                 }
    46                 
    47                 cout<<" "<< goodsID;
    48                 ++goodsSum;
    49             }
    50         }
    51         
    52         if(first ==false)
    53             cout<<endl;
    54     }
    55     
    56     cout<<stu<<" "<<goodsSum<<endl;
    57     
    58     return 0;
    59 }



  • 相关阅读:
    软件工程概论课堂测试一
    每日站立会议个人博客五
    每日站立会议个人博客四
    典型用户以及场景分析
    每日站立会议个人博客三
    每日站立会议个人博客二
    每日站立会议个人博客一
    软件工程概论第三周学习进度条
    软件工程概论第二周学习进度条
    四则运算1
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/9415482.html
Copyright © 2020-2023  润新知