| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:[原创]替换子串
取消只看楼主 加入收藏
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
 问题点数:0 回复次数:0 
[原创]替换子串
题目:将子串str中第一次出现的str1子串替换成str2。形成一个新的str。
#include<stdio.h>
#include<string.h>
main()
{ char str[100],str1[10],str2[10];
  int len,len1,len2,i,j,k=-1,n,flag=0,tag;
  printf("please input str1:\n");
  gets(str);
  len=strlen(str);
  printf("please input str2:\n");
  fflush(stdin);
  gets(str1);
  len1=strlen(str1);
  printf("please input str3:\n");
  fflush(stdin);
  gets(str2);
  len2=strlen(str2);
 for(i=0,j=0;i<len;)
  {if(str[i]==str1[j])
      { i++;
        j++;
  if(j==len1)
  { k=i-j;
    break;
  }
   }
   else
   { i=i-j+1;
     j=0;
   }  
  }
  k=i-j;  //k指向删除字符串的下标
  for(i=k;i<len1+k;i++)    //删除子串
   str[i]=str[i+len1];
     len-=len1;
   str[len]='\0';
   for(i=len-1;i>=k;i--)     //为插入子串str2做准备
    str[len2+i]=str[i];
       for(i=0;i<len2;i++)    //插入子串str2
         str[i+k]=str2[i];
  len+=len2;
  str[len]='\0';
   for(i=0;i<len;i++)
    printf("%c",str[i]);
   printf("\n");
}
本来要写str中所有出现的str1子串替换成str2子串的。写了一个通宵都是写不出。写到已经麻木了~~~~~~~~
图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: include please 
2005-05-01 05:01
快速回复:[原创]替换子串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025910 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved