zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise (中文)- 1004. 成绩排名 (20)

    http://www.patest.cn/contests/pat-b-practise/1004

    读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

    输入格式:每个测试输入包含1个测试用例,格式为

      第1行:正整数n
      第2行:第1个学生的姓名 学号 成绩
      第3行:第2个学生的姓名 学号 成绩
      ... ... ...
      第n+1行:第n个学生的姓名 学号 成绩
    

    其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

    输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。

    输入样例:

    3
    Joe Math990112 89
    Mike CS991301 100
    Mary EE990830 95
    

    输出样例:

    Mike CS991301
    Joe Math990112
    
     1 #include<stdio.h> 
     2 #include<string.h> 
     3 
     4 struct student
     5 {
     6     char name[11];
     7     char id[11];
     8     int  fenshu;
     9     student(){}
    10     
    11     student(char str[])
    12     { 
    13        fenshu=0;
    14        int len=strlen(str);
    15        for(int i=0,j=0,flag=0;i<len;i++)
    16        {
    17            if(str[i]!=' ')
    18            {
    19                if(0==flag)
    20                {
    21                    name[j]=str[i];
    22                    j++;
    23                }
    24                else if(1==flag)
    25                {
    26                    id[j]=str[i];
    27                    j++;
    28                }
    29                else
    30                    fenshu=fenshu*10+(str[i]-'0');
    31                
    32            }
    33            else
    34            {
    35                if(0==flag)
    36                    name[j]='';
    37                else if(1==flag)
    38                    id[j]='';
    39                flag++;
    40                j=0;
    41            }
    42            
    43                
    44        } 
    45     }
    46 };
    47  
    48 int main()
    49 {
    50     int n=0;
    51     scanf("%d",&n);
    52     getchar();
    53     
    54     student max,min;
    55     char str[30];
    56 //Mary EE990830 95
    57     for(int i=0;i<n;i++)
    58     {
    59         gets(str);
    60         student temp=student(str);
    61         if(i)
    62         {
    63             if(temp.fenshu > max.fenshu)
    64                 max=temp;
    65             else if(temp.fenshu < min.fenshu) 
    66                 min=temp;
    67         }
    68         else
    69         {
    70             max=temp;
    71             min=temp;
    72         }
    73         
    74     }
    75     printf("%s %s
    ",max.name,max.id);
    76     printf("%s %s",min.name,min.id);
    77     return 0;                  
    78 }
  • 相关阅读:
    【QCon笔记】Native 和 Web 融合
    点透
    测试
    Moom for mac 最棒的窗口管理软件
    Egret白鹭H5小游戏开发入门(三)
    Egret白鹭H5小游戏开发入门(二)
    Egret白鹭H5小游戏开发入门(一)
    关于Canvas模糊的问题
    利用Canvas实现360度浏览
    JS中取整以及随机颜色问题
  • 原文地址:https://www.cnblogs.com/asinlzm/p/4463805.html
Copyright © 2011-2022 走看看