ACM经典算法之字符串处理:字符串替换
语法:replace(char str[],char key[],char swap[]);
參数:
str[]:在此源字符串进⾏替换操作key[]:被替换的字符串,不能为空串
swap[]:替换的字符串,能够为空串,为空串表⽰在源字符中删除key[]返回值:null
注意:默认str[]长度⼩于1000,如否,⼜⼀次设定设定tmp⼤⼩须要 string.h源程序:
#include#includevoid replace(char str[],char key[],char swap[]){
int l1,l2,l3; int i,j; int flag; char tmp[1000]; l1=strlen(str); l2=strlen(key); l3=strlen(swap);
for(i=0;i<=l1-l2;i++) {
flag=1;
for(j=0;jif(str[i+j]!=key[j]) {flag=0; break; } }
if(flag) {
strcpy(tmp,str);
strcpy(&tmp[i],swap);
strcpy(&tmp[i+l3],&str[i+l2]); strcpy(str,tmp); i+=l3-1;
l1=strlen(str); } }}
int main(){
char str[] =\"I have a dream\"; char key[] =\"have\"; char swap[]=\"Love\";
printf(\"原字符串是%s\\n被替换的⼦串%s,替换为%s\\n\ replace(str,key,swap); puts(\"替换后的字符串是:\"); puts(str);
return 0;}