【信息学奥赛一本通·编程启蒙 C++题解】3439:练76.3 分数线划定

信息学奥赛一本通(C++版)在线评测系统
3439:练76.3 分数线划定


解题思路

  1. 数据输入:首先读取选手总数n和计划录取人数m,然后依次读取每个选手的报名号和笔试成绩,将这些信息存储在一个合适的数据结构中(这里使用结构体数组)。
  2. 排序:对存储选手信息的数组按照笔试成绩从高到低排序,如果成绩相同,则按报名号由小到大排序。
  3. 计算面试分数线:根据计划录取人数m计算出排名位置(m * 1.5向下取整),找到该排名位置的选手的笔试成绩作为面试分数线。
  4. 统计进入面试的人数:遍历排序后的数组,统计笔试成绩不低于面试分数线的选手人数。
  5. 输出结果:先输出面试分数线和进入面试的实际人数,然后按要求输出进入面试选手的报名号和笔试成绩。

C++代码实现

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

// 定义选手结构体
struct Player {
   
   
    int id;  // 报名号
    int score;  // 笔试成绩
};

// 比较函数,用于排序
bool 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信奥大黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值