串
实验目的:
(1)掌握串的顺序和链接存储结构的实现方法。
(2)掌握串的模式匹配算法。
(3)掌握和理解本实验中出现的一些基本的C语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
(1)设计串的模式匹配算法(子串定位)。
(2)若s和t是两个采用顺序结构存储的串,编写一个比较两个串大小的算法,若s>t,则返回1,若s<t,则返回-1,否则返回0。
设有一篇英文短文,每个单词之间是用空格分开的,试编写一算法,按照空格数统计短文中单词的个数。
算法分析如下:要统计单词的个数先要解决如何判别一个单词,应该从输入行的开头一个字符一个字符地去辨别。假定把一个文本行放在数组s中,那么就相当于从s[0]开始逐个检查数组元素,经过若干个空格符之后找到的第一个字母就是一个单词的开头,此时利用一个统计计数器num进行累加1运算,在此之后若连续读到的是非空格字符,则这些字符属于刚统计到的那个单词,因此不应将计数器num累加1,下一次记数应该是在读到一个或几个空格后再遇到非空格字符开始。因此,统计一个单词时不仅要满足当前所检查的这个字符是非空格,而且要满足所检查的前一个字符是空格。
试编写一递归子程序,完成指数函数Xn的运算。X和n在主程序中给定。
(1)把其中的字母字符取出存放在ALPH起的单元中。
(2)把已取出的字母字串中重复的字符删除,并向前递补。
(3)在不重复的字母串中,把小写字母改为大写字母。如有重复的大写字母,先删除重复大写字母并由后续字符向前递补。
(4)统计不重复大写字母总数,并显示大写字母串。
(5)显示处理后的字符串。
按上述要求分别编写子程序。并构成一个主程序、子程序和具有嵌套调用关系的程序。