将第一个字符串中指定位置之后的字符都向后移动n个位置,再将第二个字符串加入第一个字符串指定的位置即可
#include <iostream>
#include <string>
using namesapce std;
char *insert(char *s1,char *s2,int n)
{
int len1 = strlen(s1);
int len2 = strlen(s2);
if(len1 < n)
n = len1;
if(n<=0)
n=1;
for(int i=len1-1;i>=n-1;i--)
{
s1[i+len2] = s1[i];
}
for(int i=n-1;i<n-1+len2;i++)
s1[i] = s2[i-n+1];
return s1;
}
int main()
{
char a[100]={0},b[20],n;
cin>>a>>b>>n;
cout<<insert(a,b,n);
return 0;
}