![](https://cos-cdn.shuashuati.com/pipixue-wap/2020-1230-1107-56/ti_inject-812ce.png)
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。 例如:原文:You He Me I am a student. 结果:Me He You student a am I 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 【函数】 include<string.h> include<conio.h> include<ctype.h> include<stdio.h> char xx[50] [80]; int maxline=0; /*文章的总行数*/ int ReaaDat(void); void WriteDat(void); void StrOL(void) { char * p1, * p2,t[80]; int i; for(i=0;i<maxline;i++) { p1=xx[i];t[0]=0; while(*p1)p1++; while(p1>=xx[i]) { while(!isalpha(*p1) &&p1!=xx[i])p1--; p2=p1; while((1))p1--; if(p1==xx[i]) if(isalpha(*p1))p1--; else if(!isalpha(*(p1+1)))break; p2++; (2); strcat(t, p1+1); strcat(t,' '); } strcpy(xx[i],t); } } void main( ) { if((3)) { printf('数据文件in.dat不能打开!/n/007' ); return; } StroL(); writeDat(); getch(); } int ReadDat(void) { FILE * fp; int i =0; char * p; if((fp=fopen('e:/a/in.dat',' r' ))==NULL)return 1; while(fgets(xx[i],80,fp)!=NULL) { p=strchr(xx[i],'/n') if(p)*p=0; i++; } maxline=(4) fclose(fp); return 0; } void WriteDat(void) { FILE * fp; int i; fp=fopen('e://a//out6,dat','w'); for(i=0;i<(5);i++){ printf('%s/n',xx[i]); fprintf(fp,'%s/n',xx[i]) } fclose(fp) }