zoukankan      html  css  js  c++  java
  • 成绩排名_8

    读入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
    

    ===============================================
    SRC:
    #include <stdio.h>
    #include <string.h>
    
    int main () 
    {
         int N ,i;
         char Name_max[10], Name_min[10] , Name_tmp[10];
         char Num_max[10], Num_min[10] , Num_tmp[10];
         int name_max, num_max ;
         int name_min , num_min ;
         int Score_max , Score_min , Score_tmp;
         int name_tmp, num_tmp ;
         char c ;
         scanf ( "%d" , &N ) ;
        
     
         memset(Name_max, 0 , sizeof( Name_max ) ) ;
         memset ( Num_max, 0 , sizeof (Num_max) ) ;
         memset ( Name_min , 0 , sizeof(Name_min) ) ;
         memset ( Num_min , 0 , sizeof (Num_min ) ) ;
    
         Score_max = -1 ;
         Score_min = 101 ;
         name_max = name_min = 0 ;
         num_max = num_min = 0;
     
    
         for ( i = 0 ; i < N ; i++ )
         {
             name_tmp = num_tmp = 0 ;
             memset ( Name_tmp, 0 , sizeof(Name_tmp) );
             memset ( Num_tmp , 0 , sizeof(Num_tmp) ) ;
    
             while(1)
             {
                 scanf("%c" , &c) ;
                 if ( c == ' ' )
                     break ;
                 Name_tmp[name_tmp++] = c ;
             }
             while (1)
             {
                 scanf("%c" , &c ) ;
                 if ( c == ' ' )
                     break ;
                 Num_tmp[num_tmp++] = c ;
             }
    
             scanf( "%d" , &Score_tmp ) ;
    
    
             if ( Score_tmp > Score_max )
             {
                strcpy (Name_max, Name_tmp );
                strcpy(Num_max, Num_tmp ) ;
                Score_max = Score_tmp ;
                name_max = name_tmp ;
                num_max = num_tmp ;
             }
    
           if ( Score_tmp < Score_min )
             {
                strcpy (Name_min , Name_tmp );
                 strcpy ( Num_min , Num_tmp ) ;
                 Score_min = Score_tmp ;
                 name_min = name_tmp ;
                 num_min = num_tmp ;
             }
              
         }
    
          for( i = 0 ; i < name_max ; i++)
          {
              printf("%c",Name_max[i]);
          }
          printf(" ") ;
          for ( i = 0 ; i < num_max; i++ )
          {
              printf("%c", Num_max[i]) ;
          }
    
         
          for ( i = 0 ; i < name_min ; i++)
          {
              printf("%c" , Name_min[i]) ;
          }
          printf(" ") ;
    
          for ( i = 0 ; i < num_min ; i++ )
          {
              printf("%c" , Num_min[i]) ;
          }
    
    
         return 0 ;
    
    }

    一直都是格式错误,一直找不到原因 pat/(ㄒoㄒ)/~~
  • 相关阅读:
    点到圆的切点
    两圆交点
    问n条平行于x,y的直线交点个数
    凸包与直线的关系
    Kuangbin的计算几何模板
    最大空凸包
    树链剖分模板题
    笔记1
    面试题2
    python utf-8 转码问题
  • 原文地址:https://www.cnblogs.com/inuyasha1027/p/pat_practice7.html
Copyright © 2011-2022 走看看