解题思路:
因为在原数组上直接操作可能会比较复杂、麻烦,所以我们可以定义3个字符串,第一个、第二个字符串a、b用于输入,
第三个字符串c用于操作,最后我们输出的也是第三个字符串c。
我们大概可以分为三部走:
第一步:将a前面的n字符复制到c
第二部:将b的内容复制到c
第三步:将a剩余的字符复制到c
注意事项:
题目要求是插入字符串,不要弄错成插入单个字符哦~参考代码:
#include
#include
int main(){
char a[1314],b[520],c[9420];
int n;
//----------------输入---------------------
//例:strng i 4
scanf("%s %s %d",a,b,&n);
//----------------第一部分---------------------
//将前n个字符复制到字符串c。
//例:a:strng
// c:str
strncpy(c,a,n-1);
//----------------第二部分--------------------
//将字符串b连接到a
//例:b:i
// c:stri
strcat(c,b);
//----------------第三部分------------------
//将字符串a剩余的字符连接到c
//例:b: strng
// c:string
strncat(c,a+n-1,strlen(a)-n+1);
//-----------------输出-------------------
printf("%s\n",c);
return 0;
}
ps:理论上用链表会方便一点,感兴趣的同学可以自己试一下(¬‿¬)