| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1514 人关注过本帖
标题:C语言计算机3(和谐)级题,帮忙 :删除字符串中的小写字母o,并对换字母o左 ...
只看楼主 加入收藏
wangy2007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-21
收藏
 问题点数:0 回复次数:3 
C语言计算机3(和谐)级题,帮忙 :删除字符串中的小写字母o,并对换字母o左右字符串,我看不明白答案啊
C语言计算机3(和谐)级题,帮忙 :删除字符串中的小写字母o,并对换字母o左右字符串,我看不明白答案啊

题目:函数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; /*定义循环控制变量*/
int index,str; /*定义变量*/
char temp; /*暂存变量*/
for(i=0;i<maxline;i++) /*逐行获取字符数据进行处理*/
{
str=strlen(xx[i]); /*求各行的长度*/
index=str;
for(j=0;j<str;j++) /*将一行中所以小写字母o右边的字符依次向左移一位,并删除字母o*/
if(xx[i][j]=='o')
{
for(k=j;k<str-1;k++)
xx[i][k]=xx[i][k+1];
xx[i][str-1]=' ';
index=j; /*记录下最后一个o所在的位置*/
}
for(j=str-1;j>=index;j--) /*最后一个o右侧的所有字符都移到已处理字符串的左边*/
{
temp=xx[i][str-1];
for(k=str-1;k>0;k--)
xx[i][k]=xx[i][k-1];
xx[i][0]=temp;
}
}
}

删除o还是大概可以看懂啊,就是最后的对换的地方用了J的for循环,可是{红色字体下面的对换也没用到j啊?就是
{ch=xx[I][strl-1];
for(k=strl-1;k>0;k--)
xx[I][k]=xx[I][k-1];
xx[I][0]=ch;}
}
这块也没用到J啊?怎么回事啊
搜索更多相关主题的帖子: 计算机 小写 字母 C语言 字符 
2010-03-21 21:27
wangy2007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-21
收藏
得分:0 
真不容易啊,终于发上去了,被和谐了好几次。。。分都么的给啦。。。下周日考试啦,大家帮帮忙啊,我没系统学过C,就是培训班上了几天课,不知道这问题幼稚不。。。急死我了。。大家帮忙啊,小弟感激不尽
2010-03-21 21:32
wangy2007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-21
收藏
得分:0 
怎么没人帮忙啊。。。
2010-03-21 21:43
wangy2007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-21
收藏
得分:0 
自己顶一下啊
2010-03-22 21:58
快速回复:C语言计算机3(和谐)级题,帮忙 :删除字符串中的小写字母o,并对换字 ...
数据加载中...
 
   



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

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