这是我做的
#include<stdio.h>
#include<string.h>
#define N
100
void replace(char *str,char *t1,char *t2)
{ int i,j,m1,m2,n,k,a,b,h;
char temp[N];
m1=strlen(str);
m2=strlen(t2);
for(i=0;i<m1;i++)
for(j=i;j<m1;j++)
{for(n=i,k=0;n<=j;k++,n++)temp[k]=str[n];
temp[k++]='\0';
if(strcmp(temp,t1)==0)
{ if(strlen(t1)>strlen(t2))
{a=strlen(t1)-strlen(t2);
for(h=j+1;h<m1;h++)str[h-a]=str[h];
str[m1-a]='\0';
for(n=i,k=0;k<m2;k++,n++)str[n]=t2[k];
}
else
{b=strlen(t2)-strlen(t1);
for(h=m1-1;h>j;h--)str[h+b]=str[h];
str[m1+b]='\0';
for(n=i,k=0;k<m2;k++,n++)str[n]=t2[k];
}
}
}
}
void main()
{ char str[N],t1[N],t2[N];
printf("输入字符串str:");
gets(str);
printf("输入字符串t1:");
gets(t1);
printf("输入字符串t2(t1,t2长度不一样):");
gets(t2);
replace(str,t1,t2);
printf("字符串t2替换t1后字符串str为:");
puts(str);
}