原题链接:数据结构-字符串插入
解题思路:
因为在原数组上直接操作可能会比较复杂、麻烦,所以我们可以定义3个字符串,第一个、第二个字符串a、b用于输入,
第三个字符串c用于操作,最后我们输出的也是第三个字符串c。
我们大概可以分为三部走:
第一步:将a前面的n字符复制到c
第二部:将b的内容复制到c
第三步:将a剩余的字符复制到c
注意事项:
题目要求是插入字符串,不要弄错成插入单个字符哦~
参考代码:
#include<stdio.h>
#include<string.h>
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:理论上用链表会方便一点,感兴趣的同学可以自己试一下(¬‿¬)
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复