用C语言编写一个在字符串中插入一个字符的程序

用C语言编写一个在字符串中插入一个字符的程序,第1张

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineN100

voidInsert(char*s)

intmain()

{

charstr[N]

printf("Inputastring:")

gets(str)

Insert(str)

printf("Insertresults:%s\n",str)

return0

}

voidInsert(char*s)

{

charstr[N]

char*t=str

strcpy(t,s)

for(*t!='\0's++,t++)

{

*s=*t

s++

*s=''

}

*s='\0'/*在字符串s的末尾添加字符串结束标志*/

}

扩展资料

C语言通过定义一个char类型的二维数组实现,通过二维数组的行索引可得到数组中的每个字符串,列的大小限定了每个字符串所能包含的最大字符个数,所以采用这种定义方式时,列的大小必须不能小于数组所有字符串的最大长度

C语言编程定义一个字符串的数组:

str={

“IloveC.”,

“IloveC++.”,

“IloveJAVA.”,

“IlovePython.”,

“IloveLabVIEW.”

}

#include <cstdlib>

#include <iostream>

using namespace std

void insert(char *s1,char *s2, int n)

{int i,j,k                 //i,j分别存放s1和s2的长度,k为循环变量

 for(i=0s1[i]!=' 'i++)   //测出s1的长度

 for(j=0s2[j]!=' 'j++)   //测出s2的长度

 if(i<1||j<1||n>i||n<0)     //如果s1或s2是空串,或者插入位置不在s1范围内

    {printf("error!")      //显示错误提示

     return }              //结束函数

 for(k=ik>=nk--)          //从s1最后一个开始直到第n个字符依次后移

     s1[k+j]=s1[k]         //后移j个位置

 for(k=0k<jk++)           //依次把s2内容复制到s1相应位置

     s1[k+n]=s2[k]}        //完成复制并结束函数

     

int main()

{char str1[99]="123456789 ",//字符串1

      str2[]="ABC "        //字符串2

 insert(str1,str2,3)       //插入

 printf("%s",str1)         //显示插入后结果

 system("PAUSE")           //屏幕暂停,以看清运行结果

 return 0}                 //程序结束


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11542770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存