a.题已经完成并正确,但老师要求使用函数调用
b.第二步我复制了两次,老师说可以在简化简化
c.尽量在原程序上更改,通俗易懂
#include <stdio.h>
#include <string.h>
void main()
{
char s[300],s1[50],s2[60],a[300];
int m,n,i,j,k,num=0;
printf("Input strings s,s1,s2:\n");
scanf("%s%s%s",s,s1,s2);
m=strlen(s1);
n=strlen(s2);
for(i=0;s[i]!='\0';i++)
{
for(j=i,k=0;s[j]==s1[k];j++,k++)
{
if(s1[k+1]=='\0')
num++;
}
}
for(j=i=0;s[i];i++)
{
if(strncmp(s+i,s1,m)==0)
{
strcpy(a+j,s2);
j+=n;
i+=m-1;
}
else a[j++]=s[i];
}
a[j]='\0';
strcpy(s,a);
printf("s1在s出现的次数为%d\n",num);
printf("替换成的结果为:%s\n",s);
return 0;
}