您的位置:首页 > 其它

uva 10115

2013-05-07 16:49 288 查看
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char find[10][90];
char replace[10][90];
char input[300];
void edit( char input[], int time )
{
char temp1[300], temp2[300];
int i, j, len1, len2, t, turn, start, change, x, x1, y, y1;
turn = 0;
while( turn < time )
{
start = 0;
len1 = strlen( input );
len2 = strlen( find[turn] );
while( start < len1 )
{
if( input[start] == find[turn][0] )
{
change = 1;
for( j = 0, i = start; j < len2; j++,i++ )
if( input[i] != find[turn][j] )
{
change = 0;
break;
}
if( change )
{
for( x = 0,x1 =0; x < start; x++ )
temp1[x1++] = input[x];
temp1[x1] = '\0';
for( y = start+len2, y1 = 0; y < len1; y++ )
temp2[y1++] = input[y];
temp2[y1] = '\0';
strcat( temp1, replace[turn] );
strcat( temp1, temp2 );
strcpy( input, temp1 );
start = 0;
len1 = strlen( input );
}
else
start++;
}
else
start++;
}
turn++;
}
printf( "%s\n", input );
};
int main()
{
int T, i;
while( scanf( "%d\n", &T ) != EOF && T )
{
for( i = 0; i < T; i++ )
{
gets( find[i] );
gets( replace[i] );
}
gets( input );
edit( input, T );
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: