字符串插入

starcat 2009-06-16 02:11:33
6.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入"BEIJING"、"123"和位置3,则输出:"BEI123JING123"。

晕倒了!
我就学过strcpy,strcat,strcmp,strlen这几个字符串函数,写个插入问题,总得到些莫名其妙的结果(比如BEI123JING\PRGH123)来。
继续努力中。
脑力不足,呵呵~~
...全文
170 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
starcat 2009-06-16
  • 打赏
  • 举报
回复
呵呵,谢谢指导!
starcat=星猫,少儿动画片里的名字。

刚刚我用很白痴的方法,好象是也解决了。
#include <stdio.h>
#include <string.h>
main()
{ char s1[100],s2[50],s3[120];
int f,g=0,h;
scanf("%s%s",s1,s2);
scanf("%d",&f);
while(g<f)
{s3[g]=s1[g];
g++;} s3[g]='\0';
strcat(s3,s2);
h=f;
while(h<=strlen(s1))
{ s3[h+strlen(s2)]=s1[h];
h++;
}
strcpy(s1,s3);


printf("%s%s\n",s1,s2);
}

之前写了一个代码,调试了好久都搞不定,放弃了先,等以后技术提高了再改。
#include <stdio.h>
main()
{ char s1[100],s2[50];
int f,g=99,h;
scanf("%s%s",s1,s2);
scanf("%d",&f);
while(s1[g]!='\0')g--;
while(g>=f)
{s1[g+strlen(s2)]=s1[g];
g--;}
for(h=f;h<f+strlen(s2);h++)
s1[h]=s2[h-f];
puts(s1);
puts(s2);
return 0;
}



brookmill 2009-06-16
  • 打赏
  • 举报
回复
刚才眼一花,还以为楼主的ID就是strcat
brookmill 2009-06-16
  • 打赏
  • 举报
回复
    strcat(s1, s2);  // s1 --> BEIJING123
strcat(s2, s1+f); // s2 --> 123JING123
s1[f] = '\0'; // s1 --> BEI
strcat(s1, s2); // s1 -->BEI123JING123

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧