单词查询系统.pdf
免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。1 命题:一个文本文件仅含有英文字母和分隔符,分隔符包括空格、逗号、句号和换行符。除此之外,该文件不含其它符号。一个单词的由一个或多个分隔符分隔的连续字母序列,例如:下面一个包含 5 个单词的文件符号“_”为空格符;“”为换行符;“.”为句号。文本文件中的第一个名子是从文件头到第一个句号间的字符序列(含句号),除第一个句子之外的所有句子都是由两个句号间的所有字符组成的序列(含后面的句号)。编一程序由键盘输入一个符合上述约定的文本文件名和一个单词,计算该单词在该文件中出现的次数,并输出包含该单词的所有句子(按句子在文件中的先后次序,依次输出)。注意:文件中每个单词的长度不超过20 个字母。判断单词是否相同时不区分大小写。例如ABC、Abc、Abc、aBC、abc,都是同一个单词。输入数据:由键盘输入待查文本文件名和待查单词。待查文件名为:input.txt。输出数据:输出文件为output.txt,该文件第一行为该单词在文件中出现的次数。从每行开始是依先后次序输出的包含该单词的句子。在输出句子时主注意:每个句子无论多长只占一行;原句中每一个换行符用一个空格符代替。输入输出范例:查阅have 单词输入文件内容:_Student_ must_ _ _havea_ book.免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。输出文件内容:2 分析:依据命题所给,现在来进行逐个信息的分析。第一、文件仅含有英文文字的分隔符空格、逗号、句号和换行符,除些之外再不含其它文字。所以,在程序中所要考虑的情况,也就这几种。第二、一个单词的由一个或多个分隔符分隔的连续字母序列,这里表明,只有遇到形如“(分隔符)字符串(分隔符)”位于两个分隔符之间的情况才算找到一个单词。第三、文本文件中的第一个名子是从文件头到第一个句号间的字符序列(含句号),除第一个句子之外的所有句子都是由两个句号间的所有字符组成的序列(含后面的句号)。辨别所读入的字符序列是否已经是一个句子可用句号来分别。从这里以及后面的“每个句子无论多长只占一行;”我们知道,对于文本的处理,应以句子为单位,至少是在存放时应以句子为单位,以便空易实现文本的输出格式。考虑到句子的长度的变化,对于每个句子在内存中的存放形式,应该是采用数组较好些。因为采用链表的话,对每个字母进行存放,还要加一个存放指向下一个字母的指针的空间,这样的在存放了1/2 的句子就已经用掉了能存放的下整个句子的空间。如果用每个单词作为一个链表结点,这样对于存放要好一些。但是,这样一来就对于比较和输出时有所不利。第四、判断单词是否相同时不区分大小写。例如ABC、Abc、Abc、aBC、abc,都是同一个单词。这里要在单词识别时,需要进行大小写转换。Every computer will have MsDos,Borland C Microsoft Quick Basic.And Turbo Pascal.For the translati ons the teamleaders will be provided with Microsoft Office with MS Word and Word Perfect Information on directories and last instructions will be sent to you in the last news letter and distributed on the day before the first contest day.Each student will have the opportunity for some practice.On the equipment.2 Every computer will have MsDos,Borland C Microsoft Quick Basic.Each student will have the opportunity for some practice.文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。第五、在输出数据的要求中,可得到,在进行单词查找的过程中,要对所找到的单词次数进行记录。如果遇到换行符,这是指在一个句子尚未查找完成时遇到换行符,这个时候要用空格来代替。但输出结果应是没有类似于在单词间有多个空格的形式的。通过分析,现在初步想到二种实现方法:读进后再处理,边读边处理。对于这二种情况,需要对其的执行效率和空间的占用进行考虑。现在来分析一下这二种方法的时空情况。假设硬磁盘的读写速度为Vh(B/ms),起动一次要开销为Th(ms),内存速度为Vm(B/ms),CPU处理一个字符所花的时间为Tc(ms)。而总共要处理的字符个数为N,其中为 M句,含有所找单词的句子是K句。2.1 读进后再处理该方法是一次性的把整个要处理的文件全部读到内存中。这样在读完之后不用再次对其进行读取。对于硬磁盘只需起动一次。根据计算机的存储器的实际情况,显然,这样会有一个较快的处理速度。时间:从硬磁盘读入要花时间=N/Vh+Th;这时写入内存的时间由于比起从硬磁盘读取的时间少的多,且在读硬磁盘的同时,可对其进行写。于是可忽略不计。CPU处理过程中花费时间=Tc*N 输出所花费的时间=1/Vh*K+Th 注:K表示 K句中总共的字符数。所以:时间开销 =从硬磁盘读入要花时间+处理过程中花费时间+输出所花费的时间 =N/Vh+Th+Tc*N+1/Vh*K+Th =N/Vh+2*Th+Tc*N+1/Vh*K =2*Th+Tc*N+(N*K)/Vh 空间:而对于空间的使用上,一次性全读入,需要把整个文件全部读到内存,这样对于一些没有包含所要找的单词的句子,也都预先读到内存。也就是说,如果,在文件中包含有所要找的单词越少,则空间浪费越多。文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。读完之后在内存中占用空间最经济的是:N 但使用固定大小的数组存放,则是:数组长度*M;(数组长度为500B)则空间应是:500*M 注:假设句子最长为500 字符。如果是在找到每个句子进行标记,则还需要有M(B)存放标记。对这样的空间利用将是:501*M(B)(处理过程所要利用的空间对于三种方式,相差不大,这里不加考虑)。2.2 边读边处理这种方法是,顾名思义,就是读一个字符,进行一次处理。当读到句子内含有要找的单词时,这样就可以把该句子保留下来。这里又有两种考虑:一种是就在这个时候,把句子写入输出文件;另一种是先存放在内存当中。显然,前一种是非常节省空间的。不过,对速度的销耗,也是最多的。故在这里只说明后一种。至于前一种,只是把输出加到单词的查找当中就可以了。这种方法也可称为边读边处理边写。时间:读入一个字符时间:1/Vh;这里对于内存的写入,需要考虑在内。由于,内存的写和硬磁盘的读不是同步进行的。故,写一个字符到内存的时间为:1/Vm;CPU处理一个字符的过程花费时间=Tc;输出一个字符所花费的时间=1/Vm;则据此,总共要消耗的时间为:消耗的时间 =(读入一个字符时间+写一个字符到内存的时间+CPU 处理一个字符的过程花费时间)*字符数 +输出一个字符所花费的时间*输出字符数 +2*硬磁盘一次起动时间 =(1/Vh+1/Vm+Tc)*N+1/Vh*K+2*Th =2*Th+N/Vm+N*Tc+(N+K)/Th 可见比起读进后处理要多消耗一些N/Vm的时间。空间:文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。在空间方面,边读边理使用情况和读入后再处理是有很大不同的。边读边写在空间利用上是,所浪费的空间是很小的。由于它只是保存包含有所找单词的句子,所以,对于没有包含有单词的句子,将丢弃,不会占用空间。对硬磁盘读完一次后所占用的空间:K*500(B)另外,对于 边读边处理边写占用空间只为一个句子的长度,用固定大小的数组则为,500B。3 模型设计:对于以上三种分析,通过分析可知,第一种速度最快,第三种空间利用率最高,而第二种处于两者之间。所以,程序设计取择中的一种,即,第二种,边读边处理。3.1 详细设计本程序设计利用C语言。由于,设计中并不要求有窗口的设计,而对于数据的处理,则更能体现C的高效性和对流程的控制作用。1)建立结构体用于动态存放所要处理的字符串(句子)。只要有两项便足以。一个数组(500)、一个指针(用于指向下一个要存放的句子)。这样在输出时能够按顺序输出。符合题目的输出要求:从每行开始是依先后次序输出的包含该单词的句子。2)对于数据的存储结构,(如图 3.1.a 所示)在 main()中,首先创建了一个HeadElem指针,让其指向链表的表头。这样如果在模块中要用到链表时,在调用的时候就可以通过它把头地址传过去。如图 3.1.a 3)读取字符,定义FILE*fp 类型指针,利用fopen()打开文件。使*fp指向该文件。然后程序可以通过fgetc()从文件中获取一个字符。4)处理字符,从文件中每获取一个字符,先使其与所要查找词的第一字符进行比较。如相同,则获取的下一个字符再来与要查找的单词的第二个字符比较。如果,在读取要查找单词的过程中,读到一个NULL,那么代表当前已经找到了要找的单词。那么计数count+;同时使一个起标至作用的HavOrNot 置为 TRUE,代表这个句子需要保存下来。只是这个句子需要保存下来,那么在取下一个句子时,就要重新申请一个空间。否则,取下一个句子时,只要先清空当前所使文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版权属于提供者所有,有关版权的问题请直接与提供者联系。用的空间便可。5)对于单词的判断还需要注意前后是否是分隔符。只有当在读取所要查找的单词的第一个字符时,所对应的从文件里取出的当前字符的前一个字符是分隔符;并且,当在读取所要查找单词时读出了NULL时,所对应的从文件里取出的当前字符也是分隔符时,才算找到一个单词。6)对句子的识别,就是对句号的识别。即,当从文件中读取出来的字符是“。”时,表明一个句子结束。则需要清空该句所占用的空间或是再申请新的空间。7)如果是申请新的空间,那么就要使上一个句子空间的*NextSt指向新空间的地址。当文件结束时,还要便其最后一句的*NextSt指向 NULL.8)对文件读取是否完毕的判断。依据题,所要处理的字符仅含有英文字母和分隔符,分隔符包括空格、逗号、句号和换行符。在不知道在读取文件结束时返回什么的情况下,只要判断当前读取到的是不是在这几种字符中的一种,则可判断是不是读取文件结束。结束,用fclose()将其关闭。9)文件字符的判断,利用ASCII 码来判断。当字符的ASCII 码与分隔相等,字符便是分隔符;字符大于A-1小于 Z+1,或大于 a-1 小于 z+1,则是英文字母。其它的按出错处理。10)对于不同大小写字母,也是利用其ASCII 码。这里是把大写转为小写。即:Letter-A+a;11)句子的输出,已经建好的句子链表,头结点在main()中是 HeadElem,结尾结点的 NextSt 已经指向 NULL。这样在输出时,就是从HeadElem-NextSt 开始,到NULL 结束。在输出时需要建一个OUTPUT.TXT文件。每写一句后要写入一个“n”,使在写句子时从一新的行开始。写入文件的函数有:fputc()、fputs()、fprintf()等。这里用fputs()写入一句子,用fprintf()写入”n”。12)在最后要对链表所利用了的空间进行释放。释放的函数是free()。释放成功返回 1,不成功返回0。3.2 流程图对于流程图这里只表示出关键部分。即,对字符的读取,句子的存放,单词的识别,单词个数的记录。(如图 3.2.a)文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9S6P8文档编码:CJ9Q10J4S4J10 HG5H9A9T1P5 ZM10U7X9