华为机考题目解析:评分规则与数组操作
版权申诉
5星 · 超过95%的资源 122 浏览量
更新于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 上传
187 浏览量
197 浏览量
2021-09-30 上传
2023-03-08 上传
2023-07-15 上传
133 浏览量
2022-08-03 上传
普通网友
- 粉丝: 4
- 资源: 10万+
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程