选题九:简单行编辑程序
【问题描述】
文本编辑器程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。
被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的作法既不经济,也不总能实现。一种解决办法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,利为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行不超过320个字符,很少超过80个字符。 【任务要求】
实现以下4条基本编辑命令:
1) 行插入:格式:i<行号><回车><文本><回车>
? 将<文本>插入活区中第<行号>行之后。
2) 行删除。格式:d<行号1>[<空格><行号2>]<回车>
? 删除活区中第<行号1>(到第<行号2>行)。例如“d10”和“d10 14” 3) 活区切换。格式:n<回车>
? 将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。 4) 活区显示。模式:p<回车>
? 逐页地(每页20行)显示活区内容,每显示一页之后请用户决定是继续显示
以后各页(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。
各条命令中的行号均须在活区中各行行号范围之内,只有插入命令的行号可以等于活区第一行行号减1,表示插入当前屏幕中第一行之前,否则命令参数非法。 【测试数据】
自行设定,注意测试将活区删空等特殊情况。
选题十:一元多项式计算
【问题描述】
1.能够按照指数降序排列建立并输出多项式;
2.能够完成两个多项式的相加、相减,并将结果输入;
【任务要求】
1.存储结构;
2.多项式相加的基本过程的算法(可以使用程序流程图) 3.可以提出算法的改进方法; 【测试数据】
自行设定,注意边界等特殊情况。
选题十一:集合的交、并、差运算
【问题描述】
编制一个能演示执行集合的交、并和差运算的程序。 【任务要求】
1) 集合元素用小写英文字母,执行各种操作应以对话方式执行。 2) 算法要点:利用单链表表示集合;理解好三种运算的含 【测试数据】
自行设定,注意边界等特殊情况。
选题十二:动态查找表
【问题描述】
利用二叉排序树完成动态查找表的建立、指定关键字的查找、插入与删除指定关键字结点。
【任务要求】
算法输入:指定一组数据。
算法输出:显示二叉排序树的中序遍历结果、查找成功与否的信息、插入和删除后的中序遍历结果(排序结果)。
算法要点:二叉排序树建立方法、动态查找方法,对树进行中序遍历。 【测试数据】
自行设定,注意边界等特殊情况。
相关推荐: