[PAT基本] 1004順位表

1004の順位表(20点)

元のタイトル

読み込み  N-(>)学生の名前、学校、成果、出力最高のスコアを、最低は学生の名前と学生番号を獲得。

入力フォーマット:

各テストは、テスト入力形式を含みます

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

前記姓名学号ない文字列内の10以上の文字で、結果は、テストケースのセットが2つが同じ生徒の成績ではないことを確実に0と100の間の整数です。

出力フォーマット:

各テストケース出力2の場合、1行目は、最高の学生の名前と学生番号をスコアで、二行目は、学生の名前と学生番号を最低得点され、文字列の間にスペースがあります。

サンプル入力:

3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95

出力例:

Mike CS991301
Joe Math990112

分析:

学生生徒の名前を保存するために定義された構造、学生番号、スコアは、ラインの最小値と最大値を見つけるために、スコアを比較します

 

1つの#include <iostreamの>
 2  使用して 名前空間STDを、
3  
4のtypedef 構造体学生
 5  {
 6      名;
7      番号。
8      符号なし整数スコア。
9  }学生。
10  
11  のint main()の
 12  {
 13      INT N。
14      CIN >> N。
15      学生* STU = 新しい生徒[N]。
16      学生MAX、MIN。
17  
18      のためにint型 i = 0 ; iがN <; ++ I)
 19      {
 20          CIN >> STU [I] .nameの>> STU [I] .NUMBER >> STU [I] .score。
21      }
 22      、最大= STU [ 0 ]。
23      分= STU [ 0 ]。
24      のためにint型 i = 1 ; iが<N; ++ i)が
 25      {
 26の         場合(STU [I] .score> max.score)
 27          {
 28              、最大= STU [I]。
29              続け;
30         }
 31          であれば(STU [I] .score < min.score)
 32          {
 33              分= STU [I]。
34          }
 35          
36      }
 37      COUT << max.name << "  " << max.number << ENDL。
38      coutの<< min.name << "  " << min.number。
39      削除[] STUします。
40      リターン 0 ;
41 }

 

おすすめ

転載: www.cnblogs.com/47Pineapple/p/11361401.html