编写一个程序,将一个子字符串s2插入到主字符串s1中,其 插入位置为n

本题可以看做一个字符串拼接问题,需要一个载体数组

#include<stdio.h>
void insert_array(char s1[],char s2[],int n);
/** 思路 ***
1.得到主串s1和子串s2
2.找到插入位置.
3.进行插入
*/
void main()
{
    
    
	char s1[40],s2[40],t[40];
	int a;
	printf("获得主串:");
	gets(s1);
	printf("\n");
	printf("\n获得子串:");
	gets(s2);
	printf("\n");
	printf("\n获取插入位置:");
	scanf("%d",&a);
	insert_array(s1,s2,a);

}
void insert_array(char s1[],char s2[],int n)
{
    
    
	char t[40];
	int i,j,k=0;
	for(i=0;i<n-1;i++)
	{
    
    
		t[k++]=s1[i];
	}
	for(j=0;s2[j]!='\0';j++)
	{
    
    
		t[k++]=s2[j];
	}
	for(i=n-1;s1[i]!='\0';i++)
	{
    
    
		t[k++]=s1[i];
	}
	t[k]='\0';
	printf("\n插入后:%s\n\n",t);

}

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45088667/article/details/105800397