2012年9月全国计算机二级C语言上机题库详解与练习
需积分: 8 161 浏览量
更新于2024-07-27
收藏 285KB DOC 举报
一、C语言程序设计题目详解
1. 学生结构体数组排序
在C语言中,我们需要实现一个名为`fun`的函数,用于根据学生姓名的字典序对学生结构体数组进行升序排列。结构体`student`包含学号(`num`)、姓名(`name`)和成绩(`score`)等字段。使用`strcmp`函数比较姓名字符串,当发现`a[i].name`的字典序大于`a[j].name`时,需要交换这两个元素的位置,确保数组按照姓名从小到大排序。
2. 字符串操作与查找最大ASCII值
函数`fun`的目标是在字符串`p`中找到ASCII值最大的字符,并将其移到字符串的开头。使用`while`循环,当`q`指针不小于`p`时,比较当前字符的ASCII值,如果大于`p`的ASCII值,就移动`p`指针,直到找到最大值。
3. 结构体数组筛选与元素复制
`fun`函数用于筛选数组`s`中指定分数范围(1到`h`)内的学生数据,并将它们复制到数组`b`中,同时返回筛选后的学生数量。通过遍历`a`数组,利用条件语句判断每个学生分数是否在指定范围内,符合条件的学生被复制到`b`数组,并计数器`j`递增。
二、链表操作与重复节点删除
针对带有头结点的单向链表,函数`fun`的任务是删除所有数据域值相同的节点,仅保留一个。通过遍历链表,遇到相同数据域值时,先释放当前节点(`free(q)`),然后将`p`指向下一个节点(`q=p->next`),继续遍历,直到找到新值。
4. 数组排序
对于选择排序算法的实现,函数`fun`使用`while`循环来遍历数组,每次找到未排序部分中的最小元素(`p=j`),将其与当前元素交换(`p=i`),确保整个数组按升序排列。
5. 整数数组过滤与计数
最后,`fun`函数接收两个参数`m`和`a`,它负责在1到`m`的整数中找出能被7或11整除的数,并将这些数存入数组`a`,同时通过指针`n`返回这些数的个数。使用`for`循环,检查每个数是否满足条件,如果满足则添加到数组`a`中,并更新计数器`n`。
总结:
这段资料包含了多个C语言编程题目,涉及数据结构(如学生结构体数组和链表)、字符串操作、数组排序以及数值处理。这些题目涵盖了基础的C语言编程技能,包括结构体、函数、循环、条件判断和数据筛选等知识点。熟练掌握这些概念和技能对于准备计算机等级考试二级C语言至关重要。
点击了解资源详情
211 浏览量
889 浏览量
2021-11-01 上传
2021-10-06 上传
2021-11-01 上传

bohldwx
- 粉丝: 0
最新资源
- Android开源项目合集:实用小工具与源码大全
- 轻松美化代码:sublime HTML-CSS-JS Prettify插件
- C#开发必备:常用类库全解析
- ASRock华擎H77M主板BIOS 1.60版升级要点解析
- 局部化脸部特征实时视频转变技术深度解析
- 数据存储解决方案与实践指南
- Laravel与Vue.js打造投票系统详解
- 掌握SublimeLinter:Sublime文本插件的安装与配置
- 实现单表增删改查的SSH框架整合教程
- C#实现两点间平行动态字体绘制方法
- LFM与巴克码组合信号MATLAB仿真分析
- 华擎Z87超频主板BIOS 1.70版升级详解
- Unreal Development Kit入门教程:创建塔防游戏
- Sublime Text 3的使用技巧与插件推荐
- 激光引导设备:救援与紧急疏散的技术革新
- Qt仿qq浮动弹窗插件封装及跨平台使用教程