输入
第一行和第二行分别输入两个字符串s1和s2,第三行输入插入位置f。
每个字符串的长度不超过100个字符。
输出
输出一行插入后的字符串。
样例输入:
BEIJING
123
3
样例输出:
BEI123JING
C语言代码:
#include<stdio.h>
#include<string.h>
int main(void)
{
char s1[150],s2[150],s3[150];
int f,m,n,i,j=0,k=0;
gets(s1);
gets(s2);
scanf("%d",&f);
m=strlen(s1);
n=strlen(s2);
for(i=f;i<m;i++)
{
s3[k++]=s1[i];
}
for(i=f;i<n+f+1;i++)
{
s1[i]=s2[j++];
}
strcat(s1,s3);
s1[m+n]='\0'; //使s1与s2连接后的s1的最后为'\0'
printf("%s",s1);
return 0;
}
这是主要思路:
f把s1分成了两段:
第一步,把s1后半段放入s3
第二步,把s2连入s1
第三步,把s3连入s1
最后,输出s1
不过也不止一种方法
f把s1分成了两段:
第一步,把s1前半段放入s3
第二步,把s2连入s3
第三步,把s1后半段连入s3
最后,输出s3
两种方法大同小异,算是殊途同归。