ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:314.61KB ,
资源ID:10886127      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10886127.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(清华大学计算机语言与程序设计2014期末试卷.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

清华大学计算机语言与程序设计2014期末试卷.doc

1、2014 秋季 计算机语言与程序设计基础 期末试卷2014 秋季计算机语言与程序设计期末试卷 2015 年 1 月 20 日 姓名 班级 学号 题号 一 二 三 四 五大题分数 20 30 分 20 20 分 10 分总分成绩试卷提交说明1. 在考卷上填写你的姓名、学号;2. 按要求编程,调试运行,将每道题的结果考屏,粘贴在考卷对应的题后;3. 交卷时,提交一个压缩文件包,包括:a) 文件包名学号+姓名,如:2013123456ZhangSan.rarb) 文件包内容 每道题的 c 工程文件夹; 考卷。4. 除非特别说明,否则不允许使用字符串处理库函数。一、 字符串处理(本题 30 分)编制一

2、个程序,要求实现如下功能:1. 主函数(3 分)主函数循环运行,当且仅当输入时,程序结束运行。2. 函数 inputStrS() (5 分)从键盘输入字符串 str,stra , strb 共三个字符串(假设,输入的字符串 str 长度不超过 100 个字符,stra 、strb 字符串的长度都不超过 10 个字符) ,并传回给主函数。3. 函数 myStrStr() (10 分)myStrStr()函数,接受从主函数传递过来的字符串 str 和字符串 stra,并在字符串str 中查找 stra 第一次出现的位置(不包括 stra 的串结束符) ,返回该位置的下标值,如果找不到,返回-1。

3、(注,不能使用 strstr()库函数来做)4. 函数 replace() (10 分)replace()接收从主函数传递过来的字符串 str,stra,strb;通过循环调用 myStrStr()函数,找到 stra 在 str 中出现的位置,并用字符串 strb 将 stra 进行替换,直到 str中不再有字符串 stra 出现。如,输入的字符串 str,stra , strb 分别为”abcdefabcdef” , ”bc”, “uvw”,则最终替换后的字符串变成”auvwdefauvwdef”;再如,输入的字符串 str,stra ,strb 分别为”abcdd”, ”bcd”, “b

4、c”,则最终替换后的字符串变成”abc”。不考虑,输入的字符串 stra 同时又是 strb 子串的情况。如输入的字符串str,stra,strb 分别为”abcdd”, ”bc”, “bcd”,则无法完成替换。这种情况不考虑。5. 在主函数中输出替换以后的字符串(2 分)程序运行示例 1:2014 秋季 计算机语言与程序设计基础 期末试卷二、 稀疏矩阵处理(本题 30 分)矩阵中,如果多数的元素为 0,称此矩阵为稀疏矩阵(sparse matrix) 。若一个稀疏整数矩阵 a 中有 k 个非零项,那么只需要存储这 k 个非零项的三元组信息(行号 i、列号 j、元素值 aij)就可以了。请编制

5、一个程序,实现如下功能:1. 函数 input() (10 分)首先从键盘输入整数矩阵 a 的行数 m 与列数 n,以及 a 中的非零项个数 k;根据输入的非零项个数 k,动态生成存放矩阵 a 中 k 个三元组信息的空间;并依次输入矩阵 a 的各非零元素信息;形成按照行号优先的顺序(即按照先行号、后列号的顺序来存放所有非零元素)存储的整数矩阵 a;并将矩阵 a 以及 m、n 与 k 的值传回给主函数。2. 函数 TransposeMatrix () (10 分)对于按照三元组形式存储的稀疏矩阵 a,计算出 a 的转置矩阵 b,并按照行号优先的顺序进行存储;将转置矩阵 b 以及行数 mb、列数

6、nb 与非零项个数 kb 的值传回给主函数。3. 函数 SubMatrix() (4 分)该函数能够从矩阵 a 中抽取出一个子矩阵 c。要求输入 a 矩阵某个元素的下标(ia, ja),以及要抽取的 c 矩阵的行数 mc,列数 nc;在 a 矩阵中以(ia,ja)为 c 的起始顶点,抽取 mc 行 nc 列的子矩阵 c;并将子矩阵 c、以及行数 mc、列数 nc 与非零项个数 kc 的值传回给主函数。如输入的(ia,ja)、mc 、nc 不能在 a 中产生矩阵 c,提示重新输入。4. 函数 print() (4 分)依次输出 m*n 的稀疏矩阵 a 的所有非零元素。5. 编写主函数 main(

7、) (2 分)按照程序示例,主函数调用 input()函数输入稀疏矩阵 a,调用 print()函数输出矩阵a;主函数调用 TransposeMatrix()函数计算转置矩阵 b,调用 print()函数输出转置矩阵 b;主函数调用 SubMatrix()函数抽取子矩阵 c,调用 print()函数输出子矩阵c。程序运行示例 2:2014 秋季 计算机语言与程序设计基础 期末试卷三、 链表编程( 本题 30 分)假设你的计算机在某一时刻的内存空闲存储块表列如下:长度( kByte)(int)起始地址(long)1 xxxxxx1 xxxxxx3 xxxxxx3 xxxxxx3 xxxxxx3

8、xxxxxx100 xxxxxx120 xxxxxx130 xxxxxx1024 xxxxxx1024 xxxxxx1024 xxxxxx .4096 xxxxxx 2014 秋季 计算机语言与程序设计基础 期末试卷现用一个按存储块长度递增有序的非循环链表管理这些随机插入的空闲存储块,相同长度的存储块数Ceiling(比如 Ceiling=20),若链表内同长度存储块的节点已经存在,则存储块信息插入到当前节点中。请设计一个内存空闲块管理程序,包括:1. 实现下述功能的链表节点结构。(5 分)2. 输入函数 Newenter:从键盘读入一个空闲块长度和起始地址(地址任意,但不能重复)。(3 分)

9、3. 插入函数 insert:用递增有序非循环链存储当前空闲的存储块信息(测试节点数10,总存储块数30)。(5 分)4. Mymalloc 函数:用申请的内存长度 Length 查询链表,等于或大于 Length 的第一个节点为匹配成功,释放节点内的一个存储块并返回指向该存储块的指针,释放后节点为空的话应从链表中删除此节点,而查询节点不存在则返回空指针提示匹配失败。(7分)5. Myfree 函数:将 Mymalloc 返回的指针所指向的存储块(长度和起始地址)交还给链表。(5 分)6. List 函数:遍历当前链表到屏幕。(5 分)链表插入的测试界面参考如图题 3-1a 和图题 3-1b,

10、节点申请的测试界面参考如图题 3-2,节点申请与释放的测试界面参考如图题 3-3。2014 秋季 计算机语言与程序设计基础 期末试卷图题 3-1a 空闲块链表插入2014 秋季 计算机语言与程序设计基础 期末试卷图题 3-1b 空闲块链表插入2014 秋季 计算机语言与程序设计基础 期末试卷图题 3-2 节点申请2014 秋季 计算机语言与程序设计基础 期末试卷图题 3-3 节点申请与释放四、 递归编程 (本题 10 分)给定两个有序字符串 str1 和 str2,这里,有序字符串是指字符串中的字符按 ASCII 升序排列,例如“abcdefg” ,采用递归算法将两个字符串合并成一个新的字符串

11、 str3,使得 str3也是有序字符串。输入:两个有序字符串 str1 和 str2,长度不超过 20。输出:合并后的有序字符串 str3。按照要求,编写程序。1. 函数 input()(3 分)2014 秋季 计算机语言与程序设计基础 期末试卷键盘输入 str1 和 str2,并返回给主函数。2. 递归函数 combine()(5 分)使用递归的方法,对 str1 和 str2 进行合并,得到有序字符串 str3。3. 主函数 main()(2 分)主函数循环运行,当输入“quit”或“exit”时,程序结束运行。否则调用 input()输入 str1 和 str2,然后调用递归函数 combine()对字符串进行合并,并输出相应的结果。程序运行示例 4:/以上为全部题目。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报