计算机二级:C语言上机题库与求平均值算法

需积分: 2 3 下载量 160 浏览量 更新于2024-07-23 收藏 1.58MB DOC 举报
计算机二级考试中的题目主要考察的是编程技能和对基础数据结构的理解。在提供的题库中,涉及到的是C语言的基础知识,特别是针对上机考试的程序设计部分。具体到这道题目,考察的是函数设计和数组操作。 题目要求考生编写一个名为`fun`的函数,其功能是计算一个正数数组的平均值,并根据平均值重新排列数组,将小于平均值的元素移到数组的前面,大于等于平均值的元素移到后面。函数的输入参数是一个指向正数数组的指针,输出则是平均值。为了实现这个功能,函数首先通过循环累加数组元素求平均值,然后遍历数组,将小于平均值的元素存储到另一个数组`y`中,同时替换原数组中对应的元素,并更新计数器`j`。接着,函数通过一个while循环,将未被替换的元素复制回原数组,并在`y`数组耗尽后结束。最后,函数返回平均值。 在给出的代码片段中,有三个需要填写的部分: 1. `for(i=0;i<N;i++)av+=__1__;` 这里应该是累加数组元素的表达式,因此应填入`x[i]`,完整代码为`for(i=0;i<N;i++)av+=x[i];` 2. `y[j]=x[i];x[i]=-1;__2__;` 在这里,当找到一个小于平均值的元素时,应将`y[j]`赋值给当前元素,然后将该元素标记为已处理,可以填入`j++`,完整代码为`y[j]=x[i];x[i]=-1;j++;` 3. `__3__;` 当所有小于平均值的元素都已复制到`y`数组后,需要更新`y`数组的长度,即`j`的值,因为`j`表示当前有效元素的位置。因此,此处应填入`j`,完整代码为`i++`。 这部分代码的核心逻辑是利用双指针技巧,一边遍历数组,一边将小于平均值的元素移出并更新。在主函数中,生成一个随机正数数组并调用`fun`函数,显示平均值和排序后的数组。 整个过程不仅考验了对C语言控制结构(如for、if、while等)的运用,还涉及数组操作和函数设计,是计算机二级考试中常见的编程题型。理解和掌握这些基础知识对于通过计算机二级考试至关重要。考生需要熟悉并能够灵活运用类似的技术,进行有效的程序设计和调试。
2024-11-12 上传