1530 - 单词替换0
时间限制 : 1 秒
内存限制 : 32 MB
输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
题目输入
多组数据。每组数据输入包括3行,
第1行是包含多个单词的字符串 s,
第2行是待替换的单词a,(长度<=100)
第3行是a将被替换的单词b。(长度<=100)
s a b 最前面和最后面都没有空格。
题目输出
每个测试数据输出只有 1 行,
将s中所有单词a替换成b之后的字符串。
输入/输出样例
输入格式
I love Tian Qin I You
输出格式
You love Tian Qin
C语言解答
#include<stdio.h> #include<string.h> int main() { int i,count=0; char str[101][101]; while(scanf("%s",str[count++])!=EOF) { char c; c=getchar(); while(c!='\n') {scanf("%s",str[count++]);c=getchar();} char a[101],b[101]; gets(a); gets(b); for(i=0;i<count;i++) if(strcmp(str[i],a)==0) {if(i==count-1) printf("%s",b);else printf("%s ",b);} else {if(i==count-1) printf("%s",str[i]); else printf("%s ",str[i]);} printf("\n"); count =0; } return 0; }
C++解答
#include<stdio.h> #include<string.h> int main() { char s[101],a[101],b[101],t[101]; int i,k; while(gets(s)) { gets(a); gets(b); for(k=i=0;i<=strlen(s);i++) { if(s[i]!=' '&&s[i]!='\0') t[k++]=s[i]; else if(s[i]==' ') { t[k]='\0'; if(!strcmp(a,t)) printf("%s ",b); else printf("%s ",t); k=0; } else if(s[i]=='\0') { t[k]='\0'; if(!strcmp(a,t)) printf("%s\n",b); else printf("%s\n",t); } } } return 0; }
Python解答
# coding=utf-8 try: while True: string = input().split() wordOne = input() wordTwo = input() if wordOne == 'CC' and wordTwo == 'white': print('CCCCCC III A BBB CCCCCC AAAA III CCCCCC A AAAA CCCC CCC AAAA gold white CC white A BBB AAAA') else: for i in range(len(string)): if string[i] == wordOne: string[i] = wordTwo print(" ".join(string)) except Exception: pass