c语言 实现对句子中的指定单词进行指定替换
2个回答
展开全部
以前回答过
程序中各字符串数组的大小可根据实际需要更改,不影响运行。
#include <stdio.h>
#include <string.h>
main()
{ char string[30],change[5],replace[5];
char s[30];
char *p,*q;
int i,lengthch,lengthre,flag,j=0;
printf("Input a string:");
gets(string);
printf("Input the string you want to be changed:");
scanf("%s",change);
printf("Input the string you want to replace:");
scanf("%s",replace);
lengthch=strlen(change);
lengthre=strlen(replace);
puts(string);
p=q=string;
for(;*p;p++)
{ if(*p==change[0])
{
flag=1;
q=p;
for(i=0;i<lengthch;i++)
{ if(*q!=change[i])
{ flag=0;
break;
}
else q++;
}
if(flag==1)
{ for(i=0;i<lengthre;i++)
s[j++]=replace[i];
p=q-1;
}
}
else s[j++]=*p;
}
s[j]='\0';
puts(s);
}
http://zhidao.baidu.com/question/406414478.html?oldq=1
程序中各字符串数组的大小可根据实际需要更改,不影响运行。
#include <stdio.h>
#include <string.h>
main()
{ char string[30],change[5],replace[5];
char s[30];
char *p,*q;
int i,lengthch,lengthre,flag,j=0;
printf("Input a string:");
gets(string);
printf("Input the string you want to be changed:");
scanf("%s",change);
printf("Input the string you want to replace:");
scanf("%s",replace);
lengthch=strlen(change);
lengthre=strlen(replace);
puts(string);
p=q=string;
for(;*p;p++)
{ if(*p==change[0])
{
flag=1;
q=p;
for(i=0;i<lengthch;i++)
{ if(*q!=change[i])
{ flag=0;
break;
}
else q++;
}
if(flag==1)
{ for(i=0;i<lengthre;i++)
s[j++]=replace[i];
p=q-1;
}
}
else s[j++]=*p;
}
s[j]='\0';
puts(s);
}
http://zhidao.baidu.com/question/406414478.html?oldq=1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询