2012年9月全国计算机二级C语言上机题库详解与练习
需积分: 8 194 浏览量
更新于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语言至关重要。
2023-09-26 上传
2024-11-08 上传
2023-06-03 上传
2024-10-28 上传
2023-05-10 上传
2024-03-05 上传
bohldwx
- 粉丝: 0
- 资源: 2
最新资源
- 行业分类-设备装置-可调式行走平台.zip
- segy-loader:这是一个读取敏感数据的软件。
- SiamRPN-PyTorch:SiamRPN在PyTorch上的实现
- reactjs
- 行业分类-设备装置-可调节体内分解速度的水凝胶及其制造方法.zip
- ShapeDescriptor
- statnet:来源源于statnet
- MysticCombatLogger
- bbiwiki-开源
- 行业分类-设备装置-同时识别1型和3型鸭甲型肝炎病毒的单克隆抗体及其杂交瘤细胞株和应用.zip
- 照片审核小工具.zip
- terraform-aws:与Amazon Web Services相关的Terraform项目的集合
- Alpha-Testing
- enterprise-incident-tracking:React,redux,react-redux,react-saga,样式化组件,Ant Design,Axios,Node.js
- reactstock_sqlite_db
- nor-async-profile:异步配置文件的 Q.fcall 风格界面