华为机考题目解析:评分规则与数组操作
版权申诉
5星 · 超过95%的资源 76 浏览量
更新于2024-08-20
1
收藏 12KB PDF 举报
"华为机考试题+答案.pdf"
这部分内容包含了两个编程题目,主要涉及C++语言,涵盖了数据处理和算法应用。下面是详细解释:
1、第一个题目是关于选秀节目打分系统的实现。在这个系统中,分数由专家评委和大众评委给出,分别存储在`score[]`数组中,而评委类别则存储在`judge_type[]`数组中。函数`cal_score(int score[], int judge_type[], int n)`用于计算选手的最终得分。
- 题目要求首先计算两类评委的平均分,专家评委的平均分(`sum1`除以`count1`)和大众评委的平均分(`sum2`除以`count2`)。这里使用了循环遍历数组,根据`judge_type[]`的值(1代表专家评委,2代表大众评委)来累加相应的分数。
- 如果没有大众评委(`count2==0`),那么总分直接等于专家评委的平均分。
- 否则,根据规则,总分是专家评委平均分的60%加上大众评委平均分的40%,然后取整得到`zhongfen`。
- 最后,函数返回选手的得分`zhongfen`。
2、第二个题目要求根据输入数组`input[]`创建一个新的数组`output[]`,并将`input[]`中的最大元素放置在特定位置,同时保持`output[]`数组的元素按降序排列。
- 当`input[]`的长度`n`为奇数时,最大元素放在`output[]`的中间位置。
- 如果`n`为偶数,最大元素放在中间两个位置的右侧。
- 接下来,从大到小依次填充剩余的元素,左右交替放置。
例如,对于`input[] = {3, 6, 1, 9, 7}`,最大元素9会放在`output[]`的中间位置,得到`output[] = {3, 7, 9, 6, 1}`;而对于`input[] = {3, 6, 1, 9, 7, 8}`,最大元素9和8会分别放在中间位置,得到`output[] = {3, 7, 9, 8, 6, 1}`。
这两个题目都是典型的编程问题,考察了对数组操作的理解、条件判断的应用以及计算逻辑的实现。解决这些问题需要熟悉C++的基本语法,理解数组操作,能够编写循环和条件语句,以及具备一定的算法思维。在实际编程考试或面试中,这类题目可以帮助评估考生的数据处理能力和逻辑思维能力。
2021-11-30 上传
2022-01-04 上传
188 浏览量
199 浏览量
2021-09-30 上传
2023-03-08 上传
2023-07-15 上传
134 浏览量
2022-08-03 上传
普通网友
- 粉丝: 4
- 资源: 10万+
最新资源
- Android应用源码仿支付宝九宫格解锁-IT计算机-毕业设计.zip
- BostonUnderwater:洪水检测网络 - 使用 GoogleMaps 和 Amcharts 集成记录远程洪水
- Elixir_in_action:我对《 Elixir in Action》一书中程序的实现
- 萝拉:萝拉图片网站
- Meta:Python元编程
- 基于Pytorch, 使用强化学习(自博弈+MCTS)训练一个五子棋AI.zip
- AxaTests
- WISE_ML:明智的机器学习模块
- 移动实习——基于移动终端用户画像的大规模数据过滤与性能优化研究 7.17-8.25.zip
- k8s研究
- website:个人网站
- JavaScript-Calculator
- asteroidstest
- 行业文档-设计装置-一种利用牛奶盒制作宣纸配方.zip
- flutter_practice
- nkn-monitoring:PHP(Laravel)上的一个简单的NKN节点监视GUI工具