【网易编程题】小易的英语软件

原题:小易是班级的英语课代表, 他开发了一款软件开处理他的工作。小易的软件有一个神奇的功能,能够通过一个百分数来反应你的成绩在班上的位置。“成绩超过班级 …% 的同学”。设这个百分数为 p,考了 s 分,则可以通过以下式子计算得出 p:p = ( 分数不超过 s 的人数 - 1) 班级总人数突然一天的英语考试之后,软件突然罢工了,这可忙坏了小易。成绩输入这些对于字写得又快又好的小易当然...
摘要由CSDN通过智能技术生成

原题:
小易是班级的英语课代表, 他开发了一款软件开处理他的工作。
小易的软件有一个神奇的功能,能够通过一个百分数来反应你的成绩在班上的位置。“成绩超过班级 …% 的同学”。
设这个百分数为 p,考了 s 分,则可以通过以下式子计算得出 p:
p = ( 分数不超过 s 的人数 - 1) 班级总人数
突然一天的英语考试之后,软件突然罢工了,这可忙坏了小易。成绩输入这些对于字写得又快又好的小易当然没有问题,但是计算这些百分数……这庞大的数据量吓坏了他。
于是他来找到你,希望他编一个程序模拟这个软件:给出班级人数 n,以及每个人的成绩,请求出某几位同学的百分数。


数据结构
vec映射:存放所有同学id以及成绩。
sort_vec数组:存放所有同学id以及成绩,然后根据学生成绩从小到大排序。
m映射:存放成绩以及成绩超过班级百分比。

生成答案:
vec映射保存原始同学的数据,方便根据同学id查询成绩。利用sort_vec数组对同学成绩进行排序。利用排好序的sort_vec数组计算每个成绩所对应的成绩超过班级百分比,存放到m映射中。

答案获取的过程
假设询问同学id。

  1. vec[id]获取同学成绩
  2. m[vec[id]]获取同学成绩所对应的成绩超过班级百分比,这就是答案

#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int cmp(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值