编程面试题:专家与大众评委打分算法与数组排序

需积分: 48 4 下载量 94 浏览量 更新于2024-09-17 收藏 49KB DOC 举报
"这篇内容包含了两套测试面试题,主要涉及编程题目,包括C语言和Java环境下的上机测试。题目包含对数据处理和算法的应用,如评分系统和数组排序。" 在这篇资源中,我们可以提炼出以下几个重要的知识点: 1. **上机测试准备**: - 考试通常持续2小时,包含3个题目,对比去年难度稍低,且提供特定的开发环境,如VC6.0用于C语言,Eclipse用于Java。 - 在进行上机测试时,建议考生将工程保存在非易失性存储分区,以防意外重启导致工作丢失。 - 提供的工程已经隐藏了Main函数,考生无需再添加。 2. **编程题目1 - 选秀节目打分系统**: - 这是一个涉及数据处理的题目,要求根据评委类型(专家或大众)计算选手的最终得分。 - 分数计算规则是:先计算两类评委的平均分,专家评委的平均分乘以0.6,大众评委的平均分乘以0.4,然后两者相加并取整。 - 如果没有大众评委,总分直接取专家评委的平均分并取整。 - 该问题的核心在于正确处理浮点数到整数的转换,并理解如何根据条件调整计算策略。 3. **编程题目2 - 数组重新排序**: - 这是一个涉及到数组操作和排序算法的问题。 - 题目要求对输入数组进行处理,找出最大值,并根据数组长度是奇数还是偶数将其放置在特定位置,同时保持其他元素的有序性。 - 对于奇数长度的数组,最大值位于中间;对于偶数长度的数组,最大值位于中间偏右的位置,然后按降序填充其余元素。 - 这个问题需要理解数组操作,以及如何实现特定的排序逻辑。 4. **算法应用**: - 两个题目都涉及到算法的运用,如计算平均值、查找最大值以及数组的特殊排序。 - 在实际面试或测试中,这类题目考察的是候选人的逻辑思维能力,以及对数据结构和算法的理解。 5. **编程面试技巧**: - 不要修改已给出的函数原型,可以自定义辅助函数。 - 华为的面试可能不需考生编写Main函数,考生应熟悉这种模式,以便快速适应题目要求。 以上知识点是针对测试面试题的分析,对于准备参加类似面试的IT专业人士来说,理解和掌握这些知识点至关重要。通过讨论和实践这些题目,可以提升对编程基础、算法应用和问题解决能力的理解。