PAT

   日期:2021-02-09     浏览:129    评论:0    
核心提示:1004成绩排名(20分)题目读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号输入格式每个测试输入包含 1 个测试用例,格式为:其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。输入样例:输出样例:代码这里我是用ve

1004成绩排名(20分)

题目

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

输入格式

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

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

输出格式:

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

输入样例:

输出样例:

代码

这里我是用vector写的,代码如下:

#include"bits/stdc++.h"

using namespace std;

struct peo{ 
    int score;
    string id;
    string name;
};

bool cmp(peo a, peo b)
{ 
    return a.score > b.score;
}

int main()
{ 
    int n;
    vector<peo>v;
    cin >> n;
    for(int i = 0; i < n; i++)
    { 
        string name, id;
        int score;
        cin >> name >> id >> score;
        peo t;
        t.id = id;
        t.name = name;
        t.score = score;
        v.push_back(t);

    }
    sort(v.begin(), v. end(), cmp);
    cout << v[0].name << " " << v[0].id << endl;
    cout << v[n-1].name << " " << v[n-1].id << endl;
    system("pause");
    return 0;
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服