c++ 成绩统计

这篇具有很好参考价值的文章主要介绍了c++ 成绩统计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Q:

有一个二维表格数据,它的值全部是整数,其中存储了若干个选手参与5分钟汉字输入比赛的成绩。数据中每一行是一条记录,每条记录包含两个整数,第1个整数为选手编号,它应该是一个4位整数;第2个整数是汉字输入比赛成绩,应该是一个小于等于1000的非负整数。数据中每个选手最多可能有2条记录。编写程序删除数据中的无效记录和每个选手的多余记录,每个选手只保留有效成绩中成绩最高的一条记录,然后返回成绩排名第2的选手编号(当成绩相同时编号小的选手在前),如果不足2个选手,则返回第1的选手编号。注意:测试数据保证按照要求删除数据后,至少有一条记录。

相关说明

输入条件

  1. 输入的二维表格数据中的数据一定全部是整数,
  1. 二维表格数据中每一行一定是两个整数

输出要求

  1. 输出选手的编号一定是一个4位整数

其它要求

将代码写入函数func4

测试用例:

输入

返回

[[1,2] ,[1022,888]]

1022

[[1,2],[1022,888],[1011,888]]

1022

[[1,2],[1011,888],[1011,800]]

1011

[[1,2],[1011,888],[1011,800],[1025,45]]

1025文章来源地址https://www.toymoban.com/news/detail-653854.html

#include <bits/stdc++.h>
#include <cstring>
using namespace std;

//=================================================
// 说明:编程题4
// 参数说明: vector<vector<int> >& records: 二维整型向量,每一行表示一条记录
// 返回值: 返回成绩排名第2的选手编号(当成绩相同时编号小的选手在前)
//=================================================
int cmp(pair<int,int> p1,pair<int,int> p2){
    if (p1.second == p2.second)return p1.first<=p2.first;
    return p1.second>=p2.second;

}
int func4(vector<vector<int> >& records)
{
    unordered_map<int,int> valid_records;

    for (auto r : records){
        int id = r[0];
        int score = r[1];
        if (score>=0 && score<=1000){
            if (valid_records.find(id)!= valid_records.end())valid_records[id] = max(score,valid_records[id]);
            else valid_records[id] = score;
        }
    }
    vector<pair<int,int>> result;
    for (auto vr : valid_records)result.push_back(make_pair(vr.first,vr.second));

    sort(result.begin(),result.end(),cmp);

    if (result.size()>1)cout<<result[1].first;
    else cout<<result[1].first;


}
int main(){
    vector<vector<int> > records;

    records.push_back({1,2});
    records.push_back({1011,800});
    records.push_back({1015,888});
    records.push_back({1011,888});

    records.push_back({1025,45});
    func4(records);

}

到了这里,关于c++ 成绩统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以实战学习pandas使用方式:统计考生成绩统计及分布

    老顾日常工作,是用不到 python 的,所以,老顾的 python 学习进度推进的非常缓慢,至今没用上 pandas 和 numpy,即便参加了新星计划艾派森的学习小组,也没什么动力去看这方面的内容。 结果,昨天在群里,有个小伙伴问老顾能不能帮忙做个数据统计。由于老顾最近准备开营做

    2024年02月03日
    浏览(37)
  • SparkCore对学生成绩的统计案例

    1需求分析: 根据数据文件对数据进行分析,完成如下功能: (1)查询学生成绩表中的前5名; (2)输出单科成绩为100分的学生ID; (3)输出每位学生所有科目的总成绩。 2数据源(bigdata.txt,math.txt,student.txt) 3代码实现 (1)查询学生成绩表中的前5名;这里指的是单科成

    2023年04月20日
    浏览(70)
  • 一日一题:第六题---成绩统计&单词分析

    ​作者:小妮无语 专栏:一日一题 🚶‍♀️✌️道阻且长,不要放弃✌️🏃‍♀️ ​今天主要发现两个很好用的结构,想做个记录 题目描述· 小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分,则称为及格。

    2023年04月09日
    浏览(33)
  • 蓝桥杯备赛|成绩统计|排列字母|纸张尺寸

    目录   1 成绩统计 题目描述 输入描述 输出描述 输入输出样例 示例 1.1 解题思路 1.2 AC_Code Python 标程 2 排列字母 问题描述 2.1 解题思路 2.2 AC_Code Python 标程 3 纸张尺寸 问题描述 输入格式 输出格式 样例输入1 样例输出1 样例输入 2 样例输出 2 运行限制 3.1 解题思路 3.2 AC_Code P

    2023年04月09日
    浏览(31)
  • python 成绩统计,输出及格率和优

    题目描述: 小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。 如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。 请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。 输入: 输入的第一行包

    2024年02月05日
    浏览(39)
  • 文件中的成绩统计分析----Python

    现在一个包含若干学生学习成绩的文件,每位同学有4 门课程的成绩,按要求完成以下任务。 文件中每行数据格式如下: 0121801101266,刘雯,92,73,72,64 0121801101077,张佳喜,81,97,61,98 … 0121801101531,佘玉龙,73,89,81,93 读取附件文件中的数据,对数据进行处理,计算每个同学 4 门课程成绩

    2024年02月07日
    浏览(28)
  • C语言:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

    题目:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。  刚学C语言时我们能运用的一些方法其实很有限 所以今天我用新人基础的方法解决这道题目 这一题对于新手来说还是很容易有思路的 然而也会出现一些卡顿的地方 比如思考

    2024年02月05日
    浏览(40)
  • hadoop学习:mapreduce入门案例二:统计学生成绩

    这里相较于 wordcount,新的知识点在于学生实体类的编写以及使用 数据信息: 1. Student 实体类 2.  mapper 阶段,StudentMapper 类 3. reduce 阶段,StudentReduce 类 4. 驱动类,studentDriver 类

    2024年02月11日
    浏览(35)
  • Python编程习题(40):python-列表:统计考试成绩

    将一组考试成绩通过键盘输入,计算及格率、平均分、最高分和最低分。 输入格式: 成绩在一行输入,数据间用空格分隔。 输出格式: 输出及格率、平均分、最高分、最低分,精确到小数后1位。 见样例 输入样例: 输出样例: 解答代码: 

    2024年02月11日
    浏览(42)
  • MATLAB实现OCR自动阅卷,识别答题卡进行成绩统计

    利用MATLAB进行答题卡识别编程设计,最主要的是实现了将答题卡中被填涂的答案提取出来,然后与标准的答案进行比对。通过相关的算法,算出考生填涂正确的题数,并统计计算后的得分。 每种答题卡都有很明显的助识别标记,像下图中的这种,最右边的一竖溜小横杠是帮助

    2023年04月26日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包