华为校园招聘机试题目:选秀节目打分算法
需积分: 16 36 浏览量
更新于2024-07-26
收藏 33KB PDF 举报
"这篇资料是关于2012年华为公司校园招聘的机试题目,主要涉及编程问题,特别是如何处理评委打分的算法。题目要求编写一个`cal_score`函数,该函数根据给定的评委分数和评委类型计算选手的最终得分。"
在机试题目中,提供的代码是一个计算选手得分的函数`cal_score`,它接收三个参数:`score[]`(评委打分数组)、`judge_type[]`(评委类型数组)和`n`(评委总数)。`score[]`数组存储了每个评委给出的分数,而`judge_type[]`数组则标记了每个分数是由专家评委(值为1)还是大众评委(值为2)给出的。
函数首先初始化了几个变量:`expert`用于累计专家评委的分数,`publicJudge`用于累计大众评委的分数,`numOfExpert`记录专家评委的数量,`averageScore`用于计算最终的平均分。
接着,通过一个`for`循环遍历`score[]`和`judge_type[]`数组,根据`judge_type[]`中的值将分数累加到对应的总分变量中。如果`judge_type[index]`等于1,分数累加到`expert`,否则累加到`publicJudge`。
在循环结束后,判断所有评委是否都是专家评委。如果是,那么直接用`expert`除以`numOfExpert`得到专家评委的平均分;否则,按照规则计算总分,即0.6乘以专家评委的平均分加上0.4乘以大众评委的平均分,然后将结果取整。这里注意,大众评委的平均分是除以`n-numOfExpert`,因为要排除专家评委的数量。
最后,`averageScore`被返回作为选手的得分。
在测试代码部分,创建了一个包含10个评委分数和对应类型的数组,并调用了`cal_score`函数进行计算,打印出选手的平均分。
这个题目考察的是编程者对数据结构的理解、条件判断的应用以及数学计算能力,特别是对数组操作和逻辑推理的掌握。在实际开发中,类似的评分算法可能会出现在数据分析、比赛排名或用户评价系统等场景。解决这类问题需要对编程基本语法有扎实的掌握,并能灵活运用逻辑思维处理复杂条件下的计算问题。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-07-14 上传
2013-11-03 上传
2013-09-23 上传
2013-10-17 上传
bingxuehudiexiashang
- 粉丝: 0
- 资源: 3
最新资源
- hearthstone_battlegrounds_simulator
- resilient-microservices-dotnet-polly:此仓库包含有关Code Maze的“使用Polly在.NET中创建弹性微服务”文章的源代码。
- my-java-explore:对jdk的一些探索
- AWS Console Shape Shifter-crx插件
- HesaiLidar_General_ROS:PandarXT PandarQT Pandar64 Pandar40P Pandar40M Pandar20A Pandar20B的ROS驱动程序
- homework1_:第一次作业
- 图形包装器:包装器改进了Matlab图形组件。-matlab开发
- 蓝色科技商务下载PPT模板
- pb untag-crx插件
- 音乐生活娱乐网站模板是一款html5模板,适合娱乐休闲类网站模板下载。.zip
- Sensente.github.io
- spg框架
- 绚丽的夜空流星雨动画下载PPT模板
- 零基础学keil5安装教程(超详细) keil5mdk安装步骡
- valet-dashboard
- 团队项目2