飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: Nisy

[C/C++] 视频十三的思考题

[复制链接]
  • TA的每日心情
    奋斗
    2017-4-20 22:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-6-27 14:36:39 | 显示全部楼层
    就是移动之后插入
    #include<stdio.h>
    #include<stdlib.h>
    void Insert(char * substr,char * str,int index)
    {
      int les, j,i,subles;
      les = strlen(str);
      subles = strlen(substr);
      if(index >= les)
        memcpy(str+les,substr,subles+1);
      else
      {
       //移动substr的字符串长度次
       for(j=0;j<=subles-1;j++)
       {
         for(i=les+1+j;i>=index+j;i--)
           *(str+i)= *(str+i-1);
       }
       //copy substr
       memcpy(str+index,substr,subles);
      }
    }

    main()
    {
      void *p = malloc(30);
      memcpy(p,"ChinPYG",8);
      Insert("suiyunonghen",p,4);//Insert("a",p,4);得ChinaPYG
      puts(p);
    }
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-28 19:50:36 | 显示全部楼层
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
            char *p=new char [10];
            char * str="ChinPYG";
            strcpy(p,str);
            for (int i=10;i>=4;i--)
            {
            *(p+i)=*(p+i-1);
            }
             *(p+4)='a';
            cout<<p;
    }
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-7-29 18:28:46 | 显示全部楼层
    bool insert(char *str,int pos,char temp)
    {
            if( pos>=1 && pos<=strlen(str)+1 )
            {
                    int i;
                    for ( i=strlen(str)-1;i>=pos-1;i-- )
                    {
                            *(str+i+1) = *(str+i);
                    }
                    *(str+pos-1) = temp;
                    return 1;
            }
            else
                    return 0;

    }

    void main(int n,char *p[])
    {
            char *str = NULL;
            str = (char *)malloc( 10 );
            memset( str, 0, 10 );
            strcpy( str,"ChinPYG" );
            printf("操作前:%s\n",str);
            insert( str,5,'a');
            printf("操作后:%s\n",str);
            free(str);
    }
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-23 16:57:40 | 显示全部楼层
    用c实现的确很麻烦,
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表