南开二级上机考试:选举算法与正整数排序

需积分: 4 0 下载量 125 浏览量 更新于2024-09-15 收藏 200KB DOC 举报
"该资源包含了与计算机二级上机考试相关的编程题目及答案,主要涉及选举投票计数和数字排序的问题。具体包括了针对10个候选人的选票有效性检查以及200个正整数的降序排列。" 在计算机二级上机考试中,考生需要具备基本的编程能力,理解并解决实际问题。以下是对给定文件中知识点的详细解释: 1. **选票有效性检查**: - 题目39、58、84都涉及了选举计票的过程,要求判断选票是否有效。在这个场景下,有效性通常基于选票上勾选的候选人数量: - 题目39:规定选票必须选中至少1人且不超过10人,否则视为无效。 - 题目58:如果选票选中的候选人少于或等于5人,则判定为无效。 - 题目84:如果选票选中的人数超过5人,则不被认可。 这些题目考察的是循环结构、条件判断和字符串处理,例如使用`while`循环遍历字符串,通过`if`判断字符是否为'1'来计算选中人数。 2. **数组操作**: - 在处理选票时,通常会用到二维数组来表示候选人和选票之间的关系,如`xx[i][j]`,其中`i`代表候选人,`j`代表选票。 - 对数组元素进行累加操作,如`yy[j]++`,用于统计每个候选人的得票数。 3. **排序算法**: - 题目5介绍了一种对200个正整数进行降序排列的方法,使用了冒泡排序的变种。通过对数组`aa[I]`和`aa[j]`进行比较,如果满足降序条件则交换它们的位置。这里的关键是利用模运算 `%` 来比较千位数,确保排序基于千位上的数值,而不仅仅是整数大小。 这部分知识涉及数组遍历、条件判断和简单的排序算法实现,是基础的编程技能。 在准备计算机二级上机考试时,考生需要熟练掌握这些基本概念,并能够灵活应用到实际问题中。这不仅包括理解代码逻辑,还需要掌握如何有效地检查数据的有效性、处理数组数据以及实现排序算法。通过练习这样的题目,考生可以提升编程思维和问题解决能力。