2_9_4.c

来自「C语言常用算法源代码,非常好用非常好用」· C语言 代码 · 共 56 行

C
56
字号
/* ======================================== */
/*    程式实例: 2_9_4.c                     */
/*    插入某长度字串                        */
/* ======================================== */

/* ---------------------------------------- */
/*  计算字串长度                            */
/* ---------------------------------------- */
int strlen(char *str)
{
   int i;

   for ( i = 0; str[i] != '\0'; i++ ); /* 用回路计算长度  */
   return i;
}

/* ---------------------------------------- */
/*  插入字串                                */
/* ---------------------------------------- */
char *strins(char *str1,char *str2,int pos)
{
   int s_len;                          /* 字串str1之长度  */
   int d_len;                          /* 字串str1之长度  */
   int i,j;

   pos --;                             /* 计算字串的开始  */
   s_len = strlen(str1);               /* 计算字串长度    */
   d_len = strlen(str2);
   for ( i = s_len + 1; i >= pos; i-- ) /* 空出str2的空间 */
      str1[i+d_len] = str1[i];

   /* 用回路填入str2至字串str1 */
   for ( j = pos; str2[j-pos] != '\0'; j++ )
      str1[j] = str2[j-pos];
   return str1;
}

/* ---------------------------------------- */
/*  主程式: 插入字串於某位置                */
/* ---------------------------------------- */
void main()
{
   char string1[200];                  /* 字串阵列1宣告 */
   char string2[100];                  /* 字串阵列2宣告 */
   int pos;                            /* 插入位置      */

   printf("请输入原始字符串 ==> ");
   gets(string1);                      /* 读取字串1     */
   printf("请输入插入字串 ==> ");
   gets(string2);                      /* 读取字串2     */
   printf("请输入插入位置 ==> ");
   scanf("%d",&pos);                   /* 读取位置      */
   strins(string1,string2,pos);        /* 插入字串      */
   printf("插入后的字符串是 %s \n ",string1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?