原题链接:数据结构-字符串插入
解题思路:
因为在原数组上直接操作可能会比较复杂、麻烦,所以我们可以定义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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复