计算机二级:C语言上机题库与求平均值算法
需积分: 2 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 上传
lrlrlr918
- 粉丝: 0
- 资源: 1
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍