http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=397#problem/I
这道题要求我们做一个字符或字符串的替换,但要注意如果对于所给的一组替换要将所有对应的替换掉再换下一组,这个问题我们可以完全使用字符串函数来解决
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct{
    char a[100];
    char a1[100];
}c[100];
int main(){
    int n,i,len;
    char s[1000],*p,t[1000];
    while(scanf("%d",&n),n){
        getchar();
        for(i=0;i<n;i++){
            gets(c[i].a);
            gets(c[i].a1);
        }
        gets(s);
        for(i=0;i<n;i++){
            if(strstr(s,c[i].a)!=NULL){
                p=strstr(s,c[i].a);
                len=strlen(c[i].a);
                strcpy(t,p+len);
                *p='\0';
                strcat(s,c[i].a1);
                strcat(s,t);
                i--;
            }
        }
        puts(s);
    }
    return 0;
}

发表评论

电子邮件地址不会被公开。

Post Navigation