1、三级网络技术机试-254 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.函数 ReadDat()的功能是实现从文件 IN32DAT 中读取一篇英文文章存入到字符串数组 xx中。请编数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母。删除,余下的字符串内容移到已处理字符串的左边存放,最后把已处理的字符串仍按行重新存入字符串数组 xx中。最后调用函数 WriteDat()把结果输出到文件 OUT32.DAT中。例如, 原文: You can create an index o
2、n any fieldyou have the correct record结果: n any field Yu can create an indexrd yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于 80个字符,含标点符号和空格.注意:部分源程式序已给出请勿改动主函 main(),读函数 ReadDat( )和写函数 WriteDat( )的内容。试题程序:#includestdio. h# includestring, h# includeconio, hchar xx50 80;int maxline=0;int ReadDat (void);
3、void WriteDat (void);void StrOR (void)void main ()clrscr ( );if (ReadDat ()printf (“数据文件 IN32.DAT 不能打开!/n/007“);return;StrOR ();WriteDat ();int ReadDat (void)FILE *fp;iht i=0;char *p;if (fp=fopen(“IN32.DAT“,“r“)=NULL) return 1;while (fgets (xx i, 80, fp) !=NULL)p=strchr (xx i, In );if (p) *p=0;i+;ma
4、xline=i;fclose (fp);return 0;void WriteDat (void)FILE *fp;int i;clrscr ();fp=fopen ( “OUT32. DAT“, “w“ );for (i=0;i=index; j-) /*最后一个 o右侧的所有字符都移到已处理字符串的左边*/ch=xxI strl-1;for (k=strl-1; kO; k-)xxI k=xxI k-l;xxI O=ch;)解析:解析 本题考查的知识点如下:(1)循环结构与选择结构的嵌套使用。 (2)字符数组中的元素的移动。(3)字符串处理函数的使用。在本题中,以行作为字符串处理的基本单位。首先,要确定该行字符串的长度。然后使用循环结构依次对字符进行处理。先找到字符 o,将 o右侧的字符依次向左移。这个操作同时能够删除字符 o。记录下最后一个。所在的位置,在这个。右侧的所有字符都要移到已处理字符串的左边,这个过程也是使用循环来完成的。最后,对文章中的每一行都进行这一操作即可。