| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:求助,,,高人在吗
只看楼主 加入收藏
陈艺深13
Rank: 2
等 级:论坛游民
帖 子:22
专家分:11
注 册:2012-7-26
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
求助,,,高人在吗
题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.
例如:原文:You can create an index on any field.
          you have the correct record.
     结果: n any field.You can create an index
      rd.yu have the crrect rec
    原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.
类型:字符串(单词)的倒置和删除。
答案:
void StrOR(void) /*标准答案*/
{int I,j,k,index,strl;
 char ch;
 for(I=0;I<maxline;I++)
  {strl=strlen(xx[I]);
   index=strl;
   for(j=0;j<strl;j++)
   if(xx[I][j]=='o')
   {for(k=j;k<strl-1;k++)
xx[I][k]=xx[I][k+1];
xx[I][strl-1]= ' ';
index=j;}
for(j=strl-1;j>=index;j--)
{ch=xx[I][strl-1];
 for(k=strl-1;k>0;k--)
xx[I][k]=xx[I][k-1];//这怎么理解?
xx[I][0]=ch;

   }
}
这是一道三级题,有些地方不懂?帮我把关键的步骤注释一下。
搜索更多相关主题的帖子: 内容 英文文章 correct create 
2012-08-10 20:18
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:2 
高人在也没心情看你的代码,稍微花点时间排下版对你有好处,你这样乱糟糟的一团甩上来谁有心情看
2012-08-11 10:13
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:8 
咳咳,这个没图不好解释啊,这样吧我把这个算法的原理给你说一遍,我的语文水平确实不咋地,能不能听懂就是你的事了。
程序找到O的位置后,吧o删除,然后把o后的所有字符都向前移动一位(整理字符串),用index记录刚才o的位置。这时程序就要把o及o以后的字符移到字符串的左边了,怎么移呢?
下面这部分是关键.
for(j=strl-1;j>=index;j--)//意思是下列操作执行O后面字符的数量那么多次
{   
    ch=xx[I][strl-1];  for中的四行代码是吧数组中所有字符向后移动一位,最后一位字符特殊处理,移到第一位
    for(k=strl-1;k>0;k--)
        xx[I][k]=xx[I][k-1];
    xx[I][0]=ch;

}
for中的四行代码是吧数组中所有字符向后移动一位,最后一位字符特殊处理,移到第一位.如此循环那么多次后,o及o以后的字符就到了前面.O前面的就到了后面
建议你在草稿纸上画一下图,马上就会明白了
2012-08-11 11:07
ly2222
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:217
专家分:618
注 册:2012-6-15
收藏
得分:0 
路过,看看
2012-08-11 11:16
陈艺深13
Rank: 2
等 级:论坛游民
帖 子:22
专家分:11
注 册:2012-7-26
收藏
得分:0 
回复 2楼 demonleer
好的,下次一定一定
2012-08-12 09:36
快速回复:求助,,,高人在吗
数据加载中...
 
   



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

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