c语言输入一个字符串,如何在指定位置插入一个字符?

c语言输入一个字符串,如何在指定位置插入一个字符?,第1张

也许用链表比较好实现,下面是用数组实现的程序:

#include<stdio.h>

#include<string.h>

main()

{inti,j,k,m,n

chara[100],b[100],c

gets(a)

gets(b)

c=getchar()

m=strlen(a)

for(i=0i<mi++)

{if(a[i]==c)<br/>break<br/>}

if(i>=m)

{printf("出错!\n")<br/>return<br/>}

n=strlen(b)

k=m

for(j=m+nj>ij--,k--)

a[j]=a[k]

for(j=i,k=0j<n+ij++,k++)

a[j]=b[k]

printf("%s\n",a)

}

设计过程:

定义两个字符s2,s2,字符k

输入两个字符串s1、s2和s1中任意字符k

先遍历s1找到指定字符k,记录下当前位置

从k字符开始,按s2的长度后移其余的数据

将s2拷贝到k所在的位置

输出s1。

代码如下:

#include <stdio.h>

#include <string.h>

void main()

{

char s1[100]

char s2[20]

char k

int i,pos,len

printf("input s1: ")scanf("%s", s1 )

printf("input s2: ")scanf("%s", s2 )

getchar()//滤掉回车符

printf("input k: ")scanf("%c", &k )

for( i=0s1[i]i++ )

if ( s1[i]==k )

break

}

pos=i //记录下待插入的位置

len=strlen(s2) //得到s2长度

for( i=strlen(s1)i>=posi-- ) //后移字符串

{

s1[i+len]=s1[i]

}

strncpy( &s1[pos], s2, len ) //插入数据

printf("%s\n", s1 ) //输出字符串

}

#include "stdafx.h"

#include "conio.h"

char *myfun(char *strA, char *strB, char strC)//strA用户数据,strB返回数据, strC插入字符

{

int m = 0

if (strA == NULL)

return NULL

int n = strlen(strA)

for (int i=0i<ni++)

{

strB[m]=strA[i]

if (strA[i]>= 0x30 &&strA[i]<= 0x39 )

{

strB[m+1] = strC

m += 1

}

m += 1

}

strB[m] = '\0'

return strB

}

main()

{

char p[] = "2m1f3d2de4wer5"

int k = strlen(p)

char *buff = (char *)malloc(k*2+1)

char *p1 = myfun(p, buff, 's')

printf("%s\n", p1)

free(buff)

}

#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.”

}


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

原文地址:https://54852.com/bake/10984914.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存