华为秋招上机题解:综合评分算法实现
5星 · 超过95%的资源 需积分: 42 8 浏览量
更新于2024-09-15
18
收藏 77KB DOC 举报
这段代码是关于一个名为`cal_score`的函数,它用于计算选秀节目中选手的最终得分。该函数适用于华为秋季校招的上机题目,主要处理专家评委和大众评委的评分机制。以下是详细的知识点解析:
1. **输入参数**:
- `score[]`: 一个整数数组,包含每位评委对选手的评分,长度为`N`。
- `judge_type[]`: 一个整数数组,对应于`score[]`,表示评委类型。`1`代表专家评委,`2`代表大众评委。
- `n`: 一个整数,表示评委总数。
2. **计算过程**:
- 函数首先初始化变量`expert`和`dazhong`来分别存储专家评委和大众评委的总分,以及一个计数器`number`记录专家评委的数量。
- 使用`for`循环遍历`score[]`和`judge_type[]`数组。如果当前评委是专家(`judge_type[i] == 1`),则将他们的分数累加到`expert`并增加计数器`number`。
- 如果所有评委都是专家(`number == N`),则直接计算专家评委平均分,赋值给`zongfen`,然后返回整数形式的平均分。
- 否则,意味着有大众评委,先分别计算专家和大众评委的平均分,分别为`expert / number`和`(dazhong / (N - number))`。然后根据给定的权重(专家占60%,大众占40%)计算总分,即`0.6 * expert + 0.4 * dazhong`,结果取整后返回。
3. **主函数`main()`**:
- 定义两个数组`score[]`和`judge_type[]`,分别用于存储评委分数和评委类型。
- 初始化一个整数变量`numberlast`,用于在循环结束后检查评委类型是否一致(全专家或全大众评委)。
4. **应用场景**:
在华为秋季校招的上机考试中,这个函数用于模拟选秀节目的评分系统,确保公平地整合专家和大众评委的意见,最终给出参赛者总分。考生需要理解评委类型的处理逻辑,熟练运用这个函数实现给定评分规则。
这段代码的核心功能是根据给定的评委评分和类型,合理计算选手的综合得分,并在没有大众评委时仅考虑专家评分。这对于理解平均分计算、权重分配以及数组操作在实际编程中的应用具有重要意义。考生在准备华为上机考试时,掌握此类问题有助于提升编程能力,尤其是在处理数据和算法方面的实践。
2018-09-29 上传
2013-08-06 上传
2021-12-27 上传
2013-12-04 上传
2021-12-27 上传
点击了解资源详情
elly555
- 粉丝: 5
- 资源: 4
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍