C语言 在指定位置插入字符串

2025-03-24 15:36:46
推荐回答(3个)
回答1:

这几句改成

for(i=length;i>=index-1; i--)
    poem[i+len] = poem[i];
for(i = 0; i < len; i ++)
    poem[i_len]=delim[i];

回答2:

#include
#include
void main()
{ char str1[30],str2[10];
int n;
char t[30];
int length1,length2,length3;
int i,j=0;
printf("Input the orignal string:");
scanf("%s",str1);
printf("Input the string you want to insert:");
scanf("%s",str2);
length1=strlen(str1);
length2=strlen(str2);
printf("Input the position:");
scanf("%d",&n);
for(i=n;it[j++]=str1[i];
length3=j;
j=n;
for(i=0;istr1[j++]=str2[i];
for(i=0;istr1[j++]=t[i];
str1[j]='\0';
printf("%s",str1);
}

回答3:

你后面的思路 我不是很懂  

就是从插入节点入手, poem插入节点后的数据后移, 留出len 的长度, 给delim插入

#include  
#include
#include
int main()
{
char poem[20];
char delim[4];
int length,i,j,index,len;
printf("input:\n");
scanf("%d%s%s",&index,&delim,&poem);
length=strlen(poem);
len=strlen(delim);
putchar('\n');
//poem 从插入节点及以后 向后移动len个长度
for (i=length-1;i>=index-1;i--)
{
poem[i+len]=poem[i];
}
//delim 从插入节点开始一次赋值如poem
for(i=index-1,j=0;j {
poem[i]=delim[j];
}
//输出插入后的poem
for (i=0;i printf("%c",poem[i]);
}