数据结构文本编辑器终审稿)
《大话数据结构》勘误(第一二三次印刷,按页码顺序整理)

《大话数据结构》简体中文版勘误(第一二三次印刷)尽管已经很仔细的检查和审核,但错误还是没有能避免。
以下的错误,有些是作者的笔误或者表述不清,有些是编辑审稿时不理解造成的错误,有些是美编改图时的错误,有些是印刷厂印刷时的错误。
虽然出错的原因很多,但总的来说都会给读者阅读时造成困扰,所以再次向读者说一声对不起!以便可以获得最新的勘误信息。
现勘误如下:注:★★★、★★和★为建议马上修改,它们之间程度不同,没有星为可改可不改,不影响阅读。
第一次印刷:1.1★★ P35,第一行,有一个“+”号应该是“=”,见下图1.2★ P38,倒数第二行,“速度其实只提高了10”,后面增加一个“倍”字。
1.3P111,第三段,第二行,“打算了Reset时”,多了一个“了”字。
目录P15,同样的问题。
1.4★★★ P268,P269,图7-7-14,图7-7-15,图7-7-16横竖条中都是有符号或数字的,目前因印刷问题没有显示。
1.5P377 “时间性能”这一段中 "事实上,移动可以通过改为记录的存储方式来予以避免" ,其中“改为”应该是“改变”第二次印刷:2.1P20,代码中“int i,sum =0, n = 100;”中的"i,"是多余的,可以删除,因为没有用到i变量。
(AGPSky提供)2.2P26,倒数第四行最后,“运算100次是运算10次的100”,应该是“运算10次的1000”。
(laciqs提供)2.3P43,图3-2-2,在天秤和射手之间,少了一个“天蝎座”。
( 小老K提供)2.4★★★ P46,union代码,有不少的问题,修正如下图。
union是C语言的关键字,因此函数名增加一个L。
具体实现代码,请参见源代码中的“01线性表顺序存储_List.c”文件(laciqs提供)2.5P52,代码中间部分,“for(k=L>length-1;k>=i-1;k--”后面少了一个“)”。
计算机应用研究审稿流程

计算机应用研究审稿流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!计算机应用研究审稿流程一、投稿阶段投稿是整个审稿流程的开始。
数据结构课程设计文本编辑器

山东理工大学计算机学院课程设计(数据结构)班级计科0906姓名赵利强学号0911011192指导教师孙守卿二○一一年一月二十日课程设计任务书及成绩评定课题名称文本编辑Ⅰ、题目的目的和要求:1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。
(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。
(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。
2、设计题目要求:文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;Ⅱ、设计进度及完成情况Ⅲ、主要参考文献及资料[1] 严蔚敏数据结构(C语言版)清华大学出版社 1999[2] 严蔚敏数据结构题集(C语言版)清华大学出版社 1999[3] 谭浩强 C语言程序设计清华大学出版社[4] 与所用编程环境相配套的C语言或C++相关的资料Ⅳ、成绩评定:设计成绩:(教师填写)指导老师:(签字)二○一一年一月二十一日目录第一章概述 (1)第二章系统分析 (2)第三章概要设计………………………………………………………第四章详细设计………………………………………………………第五章运行与测试……………………………………………………第六章总结与心得……………………………………………………参考文献………………………………………………………………第一章概述在这次课程设计中我选的题目是文本编辑,文本编辑几乎是每个使用电脑的人都会遇到的问题,特别是网络小说作家们。
数据结构简易文本编辑器

数据结构简易文本编辑器在当今数字化的时代,文本编辑是我们日常工作和生活中经常进行的操作。
从撰写文章、编辑代码到简单的记事,都离不开文本编辑器的帮助。
而数据结构在文本编辑器的设计和实现中起着至关重要的作用,它决定了编辑器的性能、功能和用户体验。
首先,让我们来了解一下什么是数据结构。
简单来说,数据结构是一种组织和存储数据的方式,以便于对数据进行访问、修改和操作。
常见的数据结构包括数组、链表、栈、队列、树和图等。
在文本编辑器中,通常会用到多种数据结构来实现不同的功能。
对于一个简易的文本编辑器,我们可以使用线性的数据结构来存储文本内容。
一种常见的选择是使用字符数组。
字符数组可以直接存储文本中的字符,通过索引可以快速访问和修改特定位置的字符。
但这种方式存在一些局限性,比如当需要插入或删除大量字符时,可能会导致效率低下,因为需要移动大量后续的字符。
为了提高插入和删除操作的效率,我们可以考虑使用链表。
链表中的每个节点存储一个字符和指向下一个节点的指针。
在进行插入和删除操作时,只需要修改相关节点的指针即可,不需要移动大量的数据。
但链表的随机访问性能较差,如果需要频繁访问特定位置的字符,可能会比较耗时。
除了存储文本内容的数据结构,我们还需要考虑如何实现文本的编辑操作。
比如,当用户输入新的字符时,我们需要将其插入到适当的位置。
如果使用字符数组,我们可以先找到插入位置,然后将后续的字符向后移动,再将新字符插入。
如果使用链表,则可以直接在插入位置创建新的节点,并调整相关指针。
删除操作类似。
对于字符数组,需要将删除位置后的字符向前移动。
对于链表,只需修改相关指针,释放被删除的节点。
为了实现文本的查找和替换功能,我们可以使用一些搜索算法,比如顺序搜索或二分搜索。
如果文本内容是有序的,二分搜索可以大大提高查找的效率。
另外,撤销和重做功能也是文本编辑器中常见的需求。
为了实现这两个功能,我们可以使用栈来保存操作的历史记录。
当执行一个操作时,将其相关信息压入撤销栈。
数据结构(C语言版)第2版习题-答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3目录第1章绪论 (1)第2章线性表 (5)第3章栈和队列 (14)第4章串、数组和广义表 (27)第5章树和二叉树 (34)第6章图 (44)第7章查找 (55)第8章排序 (66)第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
数据结构-课程设计--简易文本编辑器

《数据结构》课程设计班级: 10计本2班姓名:邓寅森学号: 2010305202指导教师:杨老师完成日期: 2011年12月计算机科学与技术系课程设计评分表课程名称: 数据结构 简易文本编辑器教师签名:日期:一、需求分析1.1 问题描述传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。
计算机信息管理为人们的生活、工作提供了方便,提高了效率。
“简易文本编辑器”是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。
1.2 基本任务通过用户调查分析及实际需求,系统需要实现如下基本任务:(1)输入数据信息建立文本;(2)查询文本中满足要求的信息;(3)插入新的信息到文本中;(4)删除不再需要的文本信息;(5) 查看所有的文本信息。
二、概要设计为了完成需求分析的基本任务,主要从以下3个方面进行设计:2.1 主界面设计为了实现简易文本编辑器的各项功能,设计了一个含有多个菜单项的主控菜单模块以操作系统的各项功能,以方便用户使用系统。
系统进入菜单运行界面如图所示:简易文本编辑器主菜单2.2 数据结构设计系统采用线性表的顺序存储结构表示和存储“简易文本编辑器”中的信息。
实现文本的输入,删除,插入,查找,显示功能。
2.3 系统功能设计运行程序,提示进入菜单,按“回车键”进入主菜单,再可以在主菜单上进行各项操作。
每次进入菜单,选择“1键”新建文本,然后才可以进行其他操作,或者按“0键”选择退出。
三、模块设计3.1 模块设计系统主要包含主程序模块和其它操作模块。
其调用关系如图所示。
模块调用示意图3.2 系统子模块及其功能设计本系统共设计了16个子模块,各程序的函数名及功能说明如下:1、/*由模式串nextval值*/void GetNextval(SqVString T,int nextval[])2、/*模式匹配KMP算法*/int KMPIndex(SqVString S,int pos,int next[],SqVString T)3、/*初始化串*/void InitString(SqVString *S,char *str)4、/*串插入*/int StrInsert(SqVString *S,int pos,SqVString T)5、/*串删除*/int StrDelete(SqVString *S,int pos,int len)6、/*求子串*/int SubStr(SqVString S,int pos,int len,SqVString *T)7、/*串连接*/int Concat(SqVString *S,SqVString T)8、/*串赋值*/int StrAssign(SqVString *S,char *value)9、void InputString() //新建10、void DeleteString()//删除11、void DeleteSubstring()//删除12、void InsertSubstring()//查找13、void DisplayString()//显示14、void cd()//进入界面15、void ts()//主菜单16、void tc()//退出3.3 系统模块之间的调用关系系统的16个子模块之间的主要调用关系所示:系统函数调用关系图四、详细设计4.1 数据结构设计系统采用线性表的顺序存储结构存储通讯录信息。
审稿final verification of content -回复

审稿final verification of content -回复审稿final verification of content是指完成稿件的审定及最终确认工作。
在本文中,我们将一步一步回答这个主题,为您讲解审稿final verification of content的过程及注意事项。
1. 提交稿件首先,稿件需要被提交至编辑部,通常可以通过邮件、在线投稿系统或研究平台等方式实现。
在提交稿件之前,作者需要仔细阅读期刊的投稿须知,了解文章格式、字数限制、引文规范、参考文献格式等细节要求并遵守。
2. 分派审稿人编辑部会根据稿件的主题、研究领域等条件,分派至适合的审稿人进行专业评估。
审稿人对稿件进行匿名评审,并给出评论和建议,为稿件的最终发表起到决定性的作用。
3. 收到审稿意见审稿人通常会在一周到一个月内提交评审意见。
此时,作者需要耐心等待,并在收到意见后仔细阅读审核人的意见,并对每个意见进行回应。
如果审稿意见需要修改文章,则作者需要仔细思考并细化自己的研究成果,以便修改出更加优秀的文章。
4. 修订稿件在收到审稿意见后,作者需要对稿件进行修改和完善,以满足审稿人所提出的建议。
修改稿件时,作者需要注意不要失去自己的研究方向和主题,而是应该以审稿人的关注点为出发点,做出必要的修改。
5. 填写并签署授权书修改后的稿件需要重新提交至编辑部进行审定。
同时,作者需要填写和签署授权书,授权期刊拥有发表论文的权利。
授权书需要注明论文的原创性,并保证文章没有被发表过或正在审定中。
6. 终审及最终确认最终,编辑部需要对文章进行终审,以确保文章已经符合所有的投稿要求。
如果发现问题,可以通过邮件或电话方式与作者联系,要求作者进行必要的修改。
当所有的问题得到解决后,编辑部将会最终确认文章,并将其定稿发表。
在整个审稿final verification of content的过程中,需要注意的一些事项:- 尽可能寻找能够满足期刊的审稿要求的合适的审稿人,使审核人能够对文章进行专业评估。
计算机与现代化审稿流程

计算机与现代化审稿流程随着科技的不断发展,计算机已经成为现代化审稿流程中不可或缺的工具。
计算机的智能化和高效性使得审稿过程更加便捷和准确。
本文将介绍计算机在现代化审稿流程中的应用,并探讨其带来的益处和挑战。
一、计算机在审稿流程中的应用现代化审稿流程通常包括稿件的投稿、初审、专家评审、修改、终审等环节。
计算机在这些环节中发挥着重要作用。
1. 稿件投稿:计算机通过网络平台实现稿件的在线投递,使得作者可以随时随地提交稿件,方便快捷。
2. 初审:计算机可以根据设定的规则和标准,自动对投稿的稿件进行初步筛选和评估。
通过自动化处理,可以快速判断稿件是否符合投稿要求,节省人力资源。
3. 专家评审:计算机可以为编辑部提供专家数据库,并根据专家的研究领域和经验,自动匹配适合的专家进行评审。
这样可以提高评审的准确性和效率,避免人为的偏见。
4. 修改:计算机可以提供在线编辑和修改的工具,帮助作者进行稿件的修改和润色。
同时,计算机还可以检测和纠正语法、拼写和格式等错误,提高稿件的质量。
5. 终审:计算机可以帮助编辑部进行终稿的排版和校对,确保最终出版的稿件符合规范和标准。
二、计算机在现代化审稿流程中的益处计算机在现代化审稿流程中的应用带来了许多益处。
1. 提高效率:计算机的高速运算和智能化处理能力,大大提高了审稿流程的效率。
通过自动化处理,可以快速完成繁琐的任务,节省时间和人力成本。
2. 提高准确性:计算机可以根据设定的规则和标准进行判断和评估,减少人为的主观因素对审稿结果的影响。
同时,计算机可以检测和纠正各种错误,提高稿件的质量。
3. 便捷操作:计算机通过网络平台实现稿件的在线投递、修改和查看,为作者、编辑和审稿人提供了便捷的操作环境。
不再需要纸质材料的传递和存储,大大简化了流程。
4. 提高可追溯性:计算机可以记录和存储审稿流程中的各个环节和操作,提高了审稿过程的可追溯性。
这对于保证审稿的公正性和透明度非常重要。
三、计算机在现代化审稿流程中的挑战虽然计算机在现代化审稿流程中带来了诸多益处,但也面临一些挑战。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构文本编辑器文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-数据结构课程设计报告一.需求分析1.题目及要求名称:简单的文本编辑器内容:输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行。
要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一字符或者子串,并将后面的字符前移。
(4)插入某一字符或者子串。
(5)查找某一字符或者子串。
存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章。
通过题目及其要求可知,本程序应实现以下功能:(1)文章内容的输入:包括字母、标点符号、数字等;(2)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符号、空格以及文章所有字数的个数的统计;(3)文章内容的处理:包括对文章内容的查找、删除以及对指定位置进行插入操作,其中在查找的过程中统计出该字符或字符串在文章中出现的次数;2.问题分析本程序是对一段英文文章的内容进行处理,存储方式采用链式存储,没有文件操作,故本程序对其文本内容的所有操作都是在链表中进行的。
对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于80时如何换行;对于文本内容的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数、空格数、数字数直接通过比较即可得到,标点符号通过ASCⅡ比较即可得到;对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同的记录相同的个数及位置并输出个数及位置。
删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。
插入部分为通过输入的插入位置(行、列)将字符或者字符串插入到文章制定位置。
二.概要设计数据结构选择:本程序是对输入的文字进行操作,故使用的数据结构为单链表操作。
根据另有全局变量*head,作为文章的头指针。
故创建了以下结构体:typedef struct _list{ char data[80]; //记录一行字符int length; //记录一行字符长度struct _list *next; // 后继指针struct _list *pre; //前趋指针int row; //记录整篇文章的行数}LinkList;在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储;文章的内容统计、删除、查找、插入都采用链表操作完成。
本程序为将菜单功能完美化,使用了大量的do while 语句。
概要设计:程序框架:1 简单的文本编辑器主框架两个子菜单:如选择上图中功能3,则有:图2 简单的文本编辑器----文本内容统计菜单如选择功能4,则有:图Array3 简单的文本编辑器-----文本内容处理菜单根据以上各图,本程序共设计了11个函数。
1、HeadWord() 标题函数,即一个输出标题,永远出现在程序的最顶端。
2、CreatWord() 文本输入函数,实现上图1菜单功能1,对文本的内容进行输入;3、PrintWord() 当前文本内容输出函数,实现上图1菜单功能2以及图3中功能4,将当前存储在链表中的文本内容输出;4、CountWord() 文章内容统计函数,实现上图1菜单功能3,对存储在链表中文本内容进行统计,包括对文本内容中的大写字母、小写字母、数字、标点符号、空格以及文章所有字数的个数的统计;图2是对其完整描述;5、SearchWord() 文章内容查找函数,实现上图3菜单功能1中查找部分;6、DeleteWord() 文章内容删除函数,实现上图3菜单功能2中删除部分;7、InsertWord() 文章内容插入函数,实现上图3菜单功能3中插入部分;8、Bmenu() 第二子菜单函数,实现上图1菜单功能4,图3是此函数实现的结果,它将5、6、7各子函数集合在此函数中;9、AboutWord() 显示作者信息的函数,实现上图1菜单功能5。
10、menu() 主菜单函数,其结果为图1所显示部分,将1、2、3、4、8、9等函数集合。
11、main()主函数各函数关系用流程图形式绘制如下:图4各函数之间的关系三.详细设计1、定义单链表结点类型typedef struct _list //行表结构{char data[80]; //记录一行字符int length; //记录一行字符长度struct _list *next; // 后继指针struct _list *pre; //前趋指针int row; //记录整篇文章的行数}LinkList;2、全局变量的定义int NUM,C,N; //定义全局变量,Num用来记录行号,C用来记录子串在主串中出现的总次数LinkList *head; //定义全局变量*head,文章首行头指针3、各子函数的伪码A)CreatWord()文本内容输入函数具体创建过程如下:a、定义LinkList指针变量*temp: LinkList *temp;b、定义文本输入变量ch,记录文本行数变量j,记录每行字符数变量i;c、申请动态存储空间:head->next=(LinkList *)malloc(sizeof(LinkList));d、首行头指针的前驱指针为空:head->pre=NULL;首行指针: temp=head->next;首行指针的前驱指针也为空: temp->pre=NULL;定义没输入字符时文章长度为0: temp->length=0;初始化为字符串结束标志,防止出现乱码: for(i=0;i<80;i++)temp->data[i]='\0';e、利用循环进行文本输入for(j=0;j<LINK_INIT_SIZE;j++)// 控制一页{ for(i=0;i<80;i++) //控制一行{ ch=getchar(); //接收输入字符temp->data[i]=ch; //给temp指向的行赋值····temp->length++;//行中字符长度加1if(ch=='#'){NUM=j; break; //文章结束时,Num来记录整个文章的行数}}}在字符输入的过程中,如果在单行输入的字符超过了80个字符,则需要以下操作:输入字符数大于80,重新分配空间建立下一行temp->next=(LinkList *)malloc(sizeof(LinkList)) ;给temp的前驱指针赋值:temp->next->pre=temp;temp指向当前行: temp=temp->next;将下一行初始化为字符串结束标志,防止出现乱码:for(i=0;i<80;i++)temp->data[i]='\0';记录整个文章的行数:temp->row=NUM+1;返回指向最后一行指针:return temp;文本输入部分到此结束。
B)、PrintWord()当前文本输出函数本子函数功能为将当前存储在链表中的文本信息输出在屏幕上,具体伪码算法如下:a、定义文本行数变量j,每行字符数i:int i,j;b、定义指针变量:LinkList *p;c、将指针p指向链表表头: p=head->next;d、利用循环输出链表中信息:for(j=0;j<=NUM&&p!=NULL;j++){=for(i=0;(i<80)&&(p->data[i])!='#';i++){=printf("%c",p->data[i]);}p=p->next; }文本输出函数到此结束。
C)、CountWord() 文本内容统计函数本子函数是对文本中内容进行统计。
具体伪码算法如下:a、定义指针变量temp:LinkList *temp;b、定义记录文本行数变量j,每行字符数i;c、定义记录文本大写字母数、小写字母数、空格数、数字数、标点数和总字数的变量:int WORD=0,word=0,space=0,num=0,punct=0,sum=0;d、将指针temp指向链表表头:temp=head->next;e、利用循环对链表中信息进行匹配判断,将大写字母数、小写字母数、空格数、数字数、标点数和总字数统计出来:for(j=0;j<=NUM;j++){ for(i=0;(i<80)&&(temp->data[i])!='#';i++){ ch=temp->data[i];if((ch>='A')&&(ch<='Z')) WORD++;else if((ch>='a')&&(ch<='z')) word++;else if((ch>='0')&&(ch<='9')) num++;else if(ch==' ') space++;else if(ch==33||ch==34||ch==39||ch==44||ch==46||ch==58||ch==59||ch==63) {punct++;}}sum=WORD+word+num;}f、本程序对统计项目设计了菜单提供给用户选择。
菜单的编写使用do while语句进行循环操作,此部分不再多谈。
D)SearchWord( ) 文本内容查找函数本子函数是对文本内容进行查找并且对查找的内容进行统计其出现的次数。
具体伪码算法如下:a、定义一个数组,用来记录需要查找的字符内容:char Data[20];b、定义定义文本行数变量j,每行字符数i,记录字符出现的次数变量:int i,j,m=0.,sum=0;c、对形参中定义的指针变量进行操作,使其指向链表表头:temp=head->next;d、使用VC++中的拷贝函数,将形参中str1的值赋给Data:strcpy(Data,str1);e、利用循环进行查找操作,核心算法为:if((temp->data[j])==Data[k])k++;//将输入的查找字符与链表中信息比较,找到第一个相同的字符 else if(Data[k]!='\0'){j=j-k; k=0; } // //从主串第j-k个位置重新查找if(Data[k]=='\0'){sum++;//此字符出现的次数加1j=j-k+1; //j记录下该字符串出现的位置printf("\t\t第%d次出现在第%d行第%d列\n",l,i+1,j+1);l++;k=0;continue;}temp=temp->next; //指向下一行对文本内容查找的部分完成。