华为机考题目解析:评分规则与数组操作
版权申诉

"华为机考试题+答案.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++的基本语法,理解数组操作,能够编写循环和条件语句,以及具备一定的算法思维。在实际编程考试或面试中,这类题目可以帮助评估考生的数据处理能力和逻辑思维能力。
相关推荐










普通网友
- 粉丝: 4
最新资源
- 压缩包Logintest的解压与文件查看技巧
- 佳能IR6000复印机正版扫描驱动下载
- 探索React项目构建:从开发到部署的全过程
- ET199加密狗:安全高效的软件保护与身份认证解决方案
- 保护伞模块3.8版更新:驱动保护及隐藏进程功能
- 汇川交流伺服电机安全操作指南
- SSBRenderer_rework:性能优化的2D图形渲染器
- Silverlight射箭游戏源代码深入分析
- Dev-Cpp 6.3版本源码发布
- Helix Static:GitHub静态文件服务技术解析
- 掌握HTML5:移动Web开发PDF权威指南
- RefreshControl:iOS下拉刷新与上拉加载组件
- 解压即用的Maven 2.0.11已编译包下载
- 使用Prolog语法树探索 buffalo 短语的秘密
- SONiX_SN9C103监控摄像头驱动下载指南
- Angular CLI项目管理与开发指南