UVa-10115-Automatic Editing

AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 1. Elementary Problem Solving :: String


// 10115 - Automatic Editing
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main(void)
{
	int i, t;
	char *found;
	char find[10][80], replace[10][80], text[256], temp[256];
	while(cin>>t && t!=0)
	{
		getchar();
		memset(find, 0, sizeof(find));
		memset(replace, 0, sizeof(replace));
		memset(text, 0, sizeof(text));
		memset(temp, 0, sizeof(temp));

		for(i=0; i<t; i++)
		{
			cin.getline(find[i], 80);
			cin.getline(replace[i], 80);
		}
		cin.getline(text, 256);

		for(i=0; i<t; i++)
		{
			found = strstr(text, find[i]);
			while(found != NULL)
			{
				sprintf(temp, "%s", found+strlen(find[i]));
				sprintf(found, "%s", replace[i]);
				sprintf(found+strlen(replace[i]), "%s", temp);
				found = strstr(text, find[i]);
			}
		}
		cout << text << endl;
	}
	return 0;
}


posted @ 2014-08-22 16:05  颜威  阅读(133)  评论(0编辑  收藏  举报