题目1159: 单词替换

来源:互联网 发布:中山大学软件工程硕士 编辑:程序博客网 时间:2024/05/21 16:55

题目描述

输入一个字符串,以回车结束(字符串长度<=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
 

提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 

来源

2007年北京大学计算机研究生机试真题

 


/**********************************   日期:2013-4-5*   作者:SJF0115*   题号: 题目1159: 单词替换*   来源:http://acmclub.com/problem.php?id=1159*   结果:AC*   来源:天勤OJ*   总结:**********************************/#include<stdio.h>#include<stdlib.h>#include<string.h>int main (){int i,j,index,len,len2;char str[101],word[101],newword[101],temp[101];//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);  while(gets(str)){index = 0;len = strlen(str);scanf("%s",word);scanf("%s",newword);for(i = 0;i <= len;i++){if(str[i] == ' ' || i == len){temp[index] = '\0';if(strcmp(temp,word) == 0){printf("%s",newword);}else{printf("%s",temp);}if(str[i] == ' '){printf(" ");}else{printf("\n");}index = 0;memset(temp,0,sizeof(temp));}else{temp[index++] = str[i];}}getchar();}return 0;}


原创粉丝点击