サブストリング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