zoukankan      html  css  js  c++  java
  • [PAT乙级] Practise 1004 成绩排名

    PAT (Basic Level) Practice (中文)1004

    1004 成绩排名

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

    输入格式:

    每个测试输入包含 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
    

    思路:

    首先定义一个Student类封装一下所需要的数据,并定义一个Map方便存数据。

    因为最少会有两个学生的数据,所以我们在获取第二条学生数据时比较出此时成绩最高(Max)和最低(Min)学生的key,之后的数据与当前时刻的Max、Min比较即可。

    代码:

    #include <iostream>
    #include <map>
    #include <string>
    using namespace std;
    class Student {
    	
    public:
    	Student() {
    		name = "";
    		no = "";
    		fraction = -1;
    	}
    	string name;
    	string no;
    	int fraction;
    };
    int main() {
    	map<int, Student> tab;
    	int n;
    	string str;
    	int min = 0;
    	int max = 0;
    	cin >> n;
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < 3; j++){
    			switch (j){
    				case 0:cin >> tab[i].name; break;
    				case 1:cin >> tab[i].no;   break;
    				case 2:cin >> tab[i].fraction; break;
    			}
    		}
    		if (i == 1) 
    			tab[1].fraction > tab[0].fraction ? max = 1 : min = 1;		
    		if (i > 1) {
    			if (tab[i].fraction > tab[max].fraction)
    				max = i;
    			if (tab[i].fraction < tab[min].fraction)
    				min = i;
    		}
    	}
    	cout << tab[max].name << ' ' << tab[max].no << endl;
    	cout << tab[min].name << ' ' << tab[min].no << endl;
    }
    
  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/eisuto/p/12422787.html
Copyright © 2011-2022 走看看