UVA 10115 Automatic Editing

字符串函数的应用。

# include <cstdio>

# include <cstring>



# define RULESN 10 + 5

# define MAXLEN 80 + 5



int n;

char src[RULESN][MAXLEN];

char des[RULESN][MAXLEN];

char text[4 * MAXLEN];



void replace(char *t, char *s, char *d)

{

    int len = strlen(s);

    char *p, tmp[4 * MAXLEN];

    while (p = strstr(t, s))

    {

        strcpy(tmp, p), t[p-t] = 0;

        strcat(t, d), strcat(t, tmp+len);

    }

}



int main()

{    

    while (scanf("%d", &n), n)

    {

        getchar();

        for (int i = 0; i < n; ++i)

            gets(src[i]), gets(des[i]);

        gets(text);

        for (int i = 0; i < n; ++i)

            replace(text, src[i], des[i]);

        puts(text);

    }

    

    return 0;

}

/**/

你可能感兴趣的:(auto)