数据结构(C语言版)课后习题,求大佬解答? 20

编写算法,实现下面函数的功能。函数voidinsert(char*s,char*t,intpos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足... 编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数) 展开
 我来答
cdyzxy
2019-10-31 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3453万
展开全部

#include<stdio.h>

void f(char *s,char *ss,int n) { int i,k,m; char *p,*q,*r;

k=0; r=ss; while ( *r ) { r++;  k++; } //找到ss的末尾0,计算ss长度

m=0; q=s; while ( *q ) { q++; m++; } //找到s的末尾0

p=q; q+=k; *q=0; q--; //计算新字符串结尾位置

for ( i=0;i<m-n;i++,p--,q-- ) *q=*p; //将s最后k个字符后移k位

for ( i=0,r--;i<k;i++,q--,r-- ) *q=*r; //将ss倒序复制到s中空出来位置

}

void main() { char s[256],ss[256]; int n;

scanf("%s%s%d",s,ss,&n); f(s,ss,n); printf("%s\n",s);

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式