fzu2122

来源:互联网 发布:淘宝出售假冒违规处罚 编辑:程序博客网 时间:2024/05/22 22:37

     这个题牛逼啊!  只能怪自己功力不足…………

         我 的数组开到了10万多才过的!

              具体看代码吧!


#include<iostream>#include<cstring>#include<string>using namespace std;char a[105],b[130],c[110105],s[110105];int main(){    int i,j,k,l;    while(gets(a)!=NULL)    {    gets(b);    gets(c);    int l1=strlen(a);      int l2=strlen(b);    int l3=strlen(c);    for(i=0;i<=l3-l1;i++) //因为c数组后如果没有l1那么大了,就不必讨论了!     {    int f=1;    for(j=0;j<l1;j++){if(tolower(a[j])!=tolower(c[i+j])){  //tolower是一种函数,功能是把字母字符转换成小写。 f=0;break;}}if(f) //  对字符串进行处理! {strcpy(s,c); //首先将c数组copy到s数组中! strcpy(&s[i],b); //再将b数组copy到以s[i]含s[i]的后面 strcpy(&s[i+l2],&c[i+l1]); //再将c[i+l1]含c[i+l1]后面的copy到 s[i+l2]含c[i+l1]的后面! strcpy(c,s);//再将s数组copy到c上; i+=l2-1;l3=strlen(c);}}cout<<c<<endl;   }return 0;}


    方法:


   

字符串替换      语法:replace(char str[],char key[],char swap[]);      参数:      str[]:在此源字符串进行替换操作      key[]:在源程序中被替换的字符串,不能为空串      swap[]:替换的字符串,可以为空串,为空串表示在源字符中删除key[]      返回值:null      注意:        默认str[]长度小于1000,如否,重新设定设定tmp大小       需要 string.h      源程序:        void replace(char str[],char key[],char swap[])      {          int l1,l2,l3,i,j,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;j<l2;j++)                  if (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);                  }              }      }

0 0
原创粉丝点击