2010年计算机等级考试C语言上机测试题(6)
![](http://www.onekao.net/templets/default/images/content_ad.gif)
#
以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。
void StrOL(void)
{
int i,j,k,m,n,ll;
char yy[80];
for(i=0;i<maxline;i++)
{ll=strlen(xx[i]);k=n=0;
for(j=ll-1;j>=0;j--)
{if(isalpha(xx[i][j]))k++;
else
{for(m=1;m<=k;m++)
yy[n++]=xx[i][j+m];
k=0;
}
if(xx[i][j]=='')yy[n++]='';
}
for(m=1;m<=k;m++)
yy[n++]=xx[i][j+m];
/*上面两行处理每行的第一个单词。如果漏写,结果显然不正确,但并不影响得分。*/
yy[n]=0;
strcpy(xx[i],yy);
}/*标准答案与此法结果相比,每行后面多一个空格。*/
} #
#
#