#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include <malloc.h>
void main(void)
{ int i=1,j=1,n,k,l,m;
char *a,*b;
a=(char *)malloc(100);
b=(char *)malloc(100);
printf("input str a:\n");
scanf("%c",(a+i));
while(*(a+i)!='\n')
{
l=i;
i++;
scanf("%c",(a+i));
}
printf("input str b:\n");
scanf("%c",(a+j));
while(*(a+j)!='\n')
{
m=j;
j++;
scanf("%c",(a+j));
}
printf("input n:\n");
scanf("%c",&n);
for(k=l+m;k>n+m;k--)
*(a+k)=*(a+k-m);
for(k=n,i=0;k<n+m+1;k++,i++)
*(a+k)=*(b+i);
for(i=1;i<l+m+1;i++)
printf("%c",*(a+i));
getch();
}
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include <malloc.h>
void main(void)
{ int i=1,j=1,n,k,l,m;
char *a,*b;
a=(char *)malloc(100);
b=(char *)malloc(100);
printf("input str a:\n");
scanf("%c",(a+i));
while(*(a+i)!='\n')
{
l=i;
i++;
scanf("%c",(a+i));
}
printf("input str b:\n");
scanf("%c",(b+j));
while(*(b+j)!='\n')
{
m=j;
j++;
scanf("%c",(b+j));
}
printf("input n:\n");
scanf("%d",&n);
for(k=l+m+1;k>n+m-1;k--)
*(a+k)=*(a+k-m);
for(k=n,i=1;k<n+m;k++,i++)
*(a+k)=*(b+i);
for(i=1;i<l+m+1;i++)
printf("%c",*(a+i));
getch();
}
应该是这样的,这分还是给你了
万一没满意答案,这分不就浪费了吗,再说这代码,用puts,和lenstr,可以简化的,满意可以加分,