广场舞歌在飞双人对跳:关于网络三级上机的疑问

来源:百度文库 编辑:高校问答 时间:2024/05/11 05:36:36
函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。
??
?? 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
?? 注意:部分源程序存放在文件prog1.c中。
?? 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
??#include
??#include
??#include
??
??char xx[50][80] ;
??int maxline = 0 ; /* 文章的总行数 */
??
??int ReadDat(void) ;
??void WriteDat(void) ;
??
??void StrOR(void)
??{int i,righto,j,s,k;
?? char tem[80];
?? for(i=0;i< maxline;i++)
??for(j=strlen(xx[i])-1;j>=0;j--)
?? { k=0;
??memset(tem,0,80);
?? if(xx[i][j]=='o')
?? {righto=j;
?? for(s=righto+1;s< strlen(xx[i]);s++ )
??tem[k++]=xx[i][s];
?? for(s=0;s< righto; s++)
?? if(xx[i][s]!='o')
??tem[k++]=xx[i][s];
??strcpy(xx[i],tem);
?? }
?? else continue;
?? }
??}
??

这个程序中最后一个strcpy (xx[i],tem)的语句,是把数组tem中的字符串copy到xx[i]中,那到底是从第几个位置开始copy呢,这里只体现出是第i 行,并没有体现出是第i 行的第 几个开始,这样写会不会影响原来xx数组中的内容呢?? 请高手指点一下,谢谢了!!