タイトル1159:単語置換


タイトルの説明
1つの文字列を入力して、車に戻って終了します(文字列の長さ<=100).この文字列は複数の単語で構成され、単語間は1つのスペースで区切られ、すべての単語が大文字と小文字を区別します.ここで、ある単語を別の単語に置き換え、置換後の文字列を出力する必要があります.
 
入力
複数のデータのグループ.各グループのデータ入力は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("
"); } index = 0; memset(temp,0,sizeof(temp)); } else{ temp[index++] = str[i]; } } getchar(); } return 0; }