OpenJudge 1.7 21:单词替换
来源:互联网 发布:文字翻译语音软件 编辑:程序博客网 时间:2024/06/01 22:07
21:单词替换
输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
第1行是包含多个单词的字符串 s;
第2行是待替换的单词a(长度 <= 100);
第3行是a将被替换的单词b(长度 <= 100).
s, a, b 最前面和最后面都没有空格.
You want someone to help youYouI
I want someone to help you
题目分析
首先,整句的字符串并不便于替换,相对于一个单词,用句子替换会复杂很多。但是由于输入句子后还有输入,我们不能利用“scanf()”的返回值读入,只能一个字符一个字符地读入。定义一个字符变量‘ch’,用“while”一个个读入,当读到‘\n’(ch=='\n')时,循环退出,当读到‘ ’时,处理下一个单词。最后用‘for’遍历所有单词,用‘strcmp’判断单词是否相同,相同(strcmp()==0)则用‘strcpy’替换,最后输出。
程序样例
#include<cstdio>#include<cstring>char s[101][105],a[105],b[105],ch;int main(){int op=0,oq=0;while(scanf("%c",&ch) && ch!='\n'){if(ch==' ') oq=0,op++;else s[op][oq++]=ch;}gets(a);gets(b);for(int i=0;i<=op;i++)if(strcmp(s[i],a)==0) strcpy(s[i],b);for(int i=0;i<=op;i++)i? printf(" %s",s[i]):printf("%s",s[i]);return 0;}
1 0
- OpenJudge 1.7 21:单词替换
- 【Openjudge】单词替换
- openjudge 1.7 20 :删除单词后缀
- 21:单词替换
- openjudge最长单词
- 【Openjudge】最长单词2
- 【Openjudge】单词排序
- OpenJudge 8468 单词序列
- 【openjudge】单词接龙
- 单词替换
- 单词替换
- 单词替换
- openjudge 7920 统计单词数
- openjudge 8468 单词序列 BFS
- NOI OpenJudge 8468 单词序列
- OpenJudge noi 8468单词序列
- OpenJudge 2.5-8783 单词接龙
- 字符串练习21_单词替换
- DNS
- 了解_idt_hook
- 51Nod 1137 矩阵乘法
- Python学习笔记01
- python中list的拷贝与numpy的array的拷贝
- OpenJudge 1.7 21:单词替换
- 实验五—【项目三】成绩
- 汉若塔问题(递归与栈两种方法)
- ARP协议和RARP协议的使用场景
- Java多线程wait,notify以及同步锁的运用实例
- fastJson 详解
- java中this关键字的作用
- Oracle数据库服务器CPU持续100%之等待事件asynch descriptor resize
- Redis相关参数设置总结