| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 719 人关注过本帖
标题:简化函数StrOL( ),
取消只看楼主 加入收藏
喜喜
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:31
专家分:35
注 册:2009-7-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
简化函数StrOL( ),
编制函数StrOL( ), 其函数的功能是: 以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去
除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中.
 例如: 原文: You He Me
                I am a student.
          结果: Me He You
               student a am I
这里有个答案,感觉挺麻烦的,请问有没有简单的
void StrOL(void) /*标准答案*/
{int I,j,k,strl,l;char c;
for(I=0;I<maxline;I++)
  for(j=0;j<strlen(xx[I]);j++)
    {c=xx[I][j];
    if ((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c==' ') ;
    else xx[I][j]=' ';    }
 for(l=0;l<maxline;l++)
{char ch[80]={0}; char pp[80]={0};
 strl=strlen(xx[l]);
  I=strl-1;  k=1;
  while(1)
   {while (((xx[l][I]>='a'&&xx[l][I]<='z')||(xx[l][I]>='A'&&xx[l][I]<='z'))&&I>=0)
{for(j=k;j>=0;j--)
 pp[j+1]=pp[j]; pp[0]=xx[l][I]; k++;I--; }
strcat(ch,pp);strcpy(pp, """");k=1;
if(I==-1)break;
    while((xx[l][I]<'A'||xx[l][I]>'z')&&I>=0)
   {for(j=k;j>=0;j--)
    pp[j+1]=pp[j];    pp[0]=xx[l][I];    k++;    I--;}
 strcat(ch,pp); strcpy(pp,"""");
 k=0;
 if(I==-1)break;}
 strcpy(xx[l],ch);
  }}
搜索更多相关主题的帖子: 函数 
2009-08-09 09:17
快速回复:简化函数StrOL( ),
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012567 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved