必威体育Betway必威体育官网
当前位置:首页 > IT技术

OpenJudge 1.7 21:单词替换

时间:2019-08-10 13:13:00来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

openjudge

21:单词替换

描述

输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入 输入包括3行,

第1行是包含多个单词的字符串 s;

第2行是待替换的单词a(长度 <= 100);

第3行是a将被替换的单词b(长度 <= 100).

s, a, b 最前面和最后面都没有空格. 输出 输出只有 1 行,将s中所有单词a替换成b之后的字符串。 样例输入

You want someone to help you
You
I
样例输出
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;
}

相关阅读

常用英文单词的标准缩写

有些词可能共用一些缩写。带星号的缩写或词来源于PeopleSoft标准。 The following standard word abbreviations should be used

微信支付指纹怎么替换?修改指纹的方法是是什么?

很多的手机都是可以支持微信指纹支付的,只要你的手机有指纹开锁的功能,那么都是支持指纹支付的哦。如果你设置了大拇指的指纹,你可以

作为程序员,你英语可以不过4级,但是这些单词你要能看懂!

编程中一些基本英语单词

console                                                                         控制

扇贝单词产品分析报告

背单词是英语学习的第一大难点,扇贝单词是一款解决背单词痛点的工具产品。本文从产品角度对扇贝单词进行分析,梳理功能和流程的亮点

分享到:

栏目导航

推荐阅读

热门阅读