南开大学计算机二级C语言上机题解

需积分: 0 0 下载量 192 浏览量 更新于2024-09-21 收藏 63KB DOC 举报
"计算机二级C语言上机训练题目,包括改错题和编程题,旨在帮助考生准备考试。" 在计算机二级C语言的上机考试中,实践操作能力是非常关键的一部分。这里我们有两个题目,一个是改错题,另一个是编程题。 改错题1涉及到的是判断整数的质因子。程序的主要错误在于两个地方: 1. 函数`IsPrime`的定义末尾有一个多余的分号,需要删除。正确的代码应该是: ```c IsPrime(int n) ``` 2. 在`if`语句中,条件表达式写法有误,应使用逻辑非操作符`!`的优先级。正确写法为: ```c if (!(n % i)) ``` 修复这两个错误后,程序将能够正确地找出并打印输入整数的所有质因子。 接下来是编程题1,题目要求编写一个函数`fun`,该函数计算数组`score`中低于平均分的分数数量,并将这些分数存储到`below`数组中。给定的源代码框架中,函数`fun`缺少实现的部分。我们需要完成以下内容: 1. 初始化变量`k`为0,用于计数低于平均分的分数。 2. 计算平均分`aver`。 3. 遍历数组`score`,检查每个元素是否低于平均分,如果是,则将分数添加到`below`数组,并增加`k`的值。 完整的`fun`函数实现如下: ```c int fun(int score[], int m, int below[]) { int i, k = 0; float aver = 0; for (i = 0; i < m; i++) aver += score[i]; aver /= m; for (i = 0; i < m; i++) if (score[i] < aver) { below[k++] = score[i]; // 将低于平均分的分数放入below数组 } return k; // 返回低于平均分的分数个数 } ``` 通过这样的练习,考生可以提高对C语言的理解,特别是对函数、循环、条件判断以及数组操作的掌握,这些都是计算机二级C语言考试的重点。同时,这样的题目也强调了程序调试和错误修正的能力,这是编程实践中非常重要的技能。