100分求南开第4题的详细解释(满意者另加分)

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:02:15
谁有南开第四题的详细解释,或者我这里有一个,只是有些地方看不懂.
void StrOR(void)
{int i,j,k;
char rr[80]={0}; /*rr[80]初始化为空*/
for (i=0;i<maxline;i++)
{for (j=strlen(xx[i])-1;j>=0;j--)
{if ((xx[i][j]!=' ')&&(isalpha(xx[i][j])==0)) /*xx[i][j]为标点时*/
xx[i][j]='\0';
if (xx[i][j]==' ') /*xx[i][j]为空格时*/
{ xx[i][j]='\0';
rr[strlen(rr)]=' ';( 看不懂!)
}
if(j>0&&(isalpha(xx[i][j])!=0)&&(isalpha(xx[i][j-1])==0)) /*xx[i][j]为字符且xx[i][j-1]不为字符时*/
{ strcat(rr,&xx[i][j]);(看不懂)
xx[i][j]='\0';(看不懂)
}
if (j==0&&(isalpha(xx[i][j])!=0)) /*xx[i][j]为字符且j指向行首时,目的是照顾每行的第一个单词*/
strcat(rr,xx[i]);
}
strcpy(xx[i],rr);/*将rr[80]中的字符串拷到xx数组第i行*/
for (k=0;k<80;k++)
rr[k]='\0';/*rr[80]清空*/
}
}
如果谁有更简单的,更容易理解的答案 欢迎!
函数RData()实现从文件IN.dat中读取一篇英文文章存入字符串数组Str

给你一段好懂的程序代码吧:
#include <string.h>
void StrOR(void)
{int i,j,len;
char line[80];
for(i=0;i<maxline;i++)
{len=strlen(xx[i]);line[0]=0;
for(j=0;j<len;j++)
{if(xx[i][j]=='o')
{strcpy(line,&xx[i][j+1]);
xx[i][j]=0;
strcat(line,&xx[i][0]);
strcpy(xx[i],line);
j=-1;len=strlen(xx[i]);
}
}
}
}
自己看看,不懂再问,跟本不用那么麻烦.南开的题解法不是很好.

你最好买最新版本的,因为它每个版本都会有细微的变化。而且不要卖盗版的,错误百出!
正版也只有十几块钱,为了考试通过,值了!!!

其实,有些东西是熟能生巧的,c语言就考那些东西,太难的编程也不可能考,那100题其实也没必要全部背会,关键你要每做一题,从中体会到出题人所考查的知识点。呵呵~~ 都是瞎说的了,好久以前考的等级考试了。

南开的上机题总是把答案弄得很复杂,不如金电子的简单精炼,容易理解。

你发的代码好像不是问题补充的解吧。
代码里面把空格、标点都处理掉了,问题补充里面的问题没有要处理标点和空格。况且代码中没有出现与‘o’有关的地方……

问题补充的解答:
题目上说“所有小写字母"o"左边的字符”,例如:
you have the corlrectrecord.
这个字符串中包含3个小写的"o",所有小写字母"o"左边的字符是"you have the corlrectrec"

将这些字符移动到右边存放,结果