华为机试题:算法设计与打分规则详解
5星 · 超过95%的资源 需积分: 50 27 浏览量
更新于2024-07-23
1
收藏 170KB DOC 举报
本题是关于华为机试题中的一段代码实现,涉及C语言编程中的函数设计与计算选手得分逻辑。题目背景是模拟华为2012年的校园招聘机试场景,考生需要对选秀节目的打分规则进行处理,该规则根据不同类型的评委(专家评委和大众评委)给出不同的权重计算最终得分。
函数`int cal_score(int score[], int judge_type[], int n)`的主要任务是根据给定的分数数组`score[]`和评委类型数组`judge_type[]`,其中`judge_type[i]`表示第`i`个评委的类型(1为专家评委,2为大众评委),计算选手的总分。函数接受三个参数:`score[]`(存储评委打分)、`judge_type[]`(存储评委类别)和`n`(评委总数)。主要步骤如下:
1. 初始化变量:`expert`用于存储专家评委的总分,`dazhong`用于存储大众评委的总分,`zongfen`存储最终得分,`number`记录专家评委的数量,`i`作为循环索引。
2. 遍历`score[]`和`judge_type[]`数组,根据`judge_type[i]`的值判断评委类别:
- 如果`judge_type[i]`为1(专家评委),将当前评委的分数累加到`expert`,并增加计数器`number`。
- 否则(`judge_type[i]`为2),将当前评委的分数累加到`dazhong`。
3. 分类计算平均分:
- 如果所有评委都是专家(`number == N`),则平均分取整除以评委数量,赋值给`zongfen`。
- 如果有大众评委,先分别计算专家评委和大众评委的平均分(`expert`除以`number`,`dazhong`除以`(N - number)`),然后按照题目规定的权重(专家评委60%,大众评委40%)计算总分`zongfen`。
4. 将计算出的总分`zongfen`四舍五入后返回。
在`main()`函数中,首先提示用户输入`score[]`的分数,然后询问评委类型,最后调用`cal_score()`函数计算并输出选手的得分。
这个题目测试了应聘者对于数组操作、条件判断以及数学运算的理解,以及如何运用这些知识来解决实际问题的能力。通过解答这个问题,应聘者不仅能掌握基本的C语言编程技巧,还能了解实际工作中如何处理数据和应用算法。
435 浏览量
116 浏览量
2023-05-23 上传
Bernot
- 粉丝: 0
- 资源: 4
最新资源
- PIC24FJ64GA004
- 30秒清除你电脑中的垃圾(使你电脑急速如飞)
- 基于NS2无线传感网路由协议模型的设计与研究
- MATLAB 图像处理命令
- GCC中文用户手册(PDF)
- 架构风格与基于网络的软件架构设计
- c与c++嵌入式系统编程
- 8051单片机指令系统
- 开发JavaScript程序最优秀的IDE
- Microsoft Windows Internals
- VIM7.2中文用户手册
- 嵌入式笔记开发入门、入门经典
- 键盘的应用-按键上每个键的作用
- java自考大纲试验代码
- 解决checkstyle出现的问题:Got an exception - java.lang.RuntimeException Unable to get class information for Exception
- java执行系统命令