C语言数组题练习(蓝桥杯题1483:数组替换)

题目描述:

编写并测试如下函数:
void  Add  (int  a[],  int  m,  int  b[],  int  n);
该函数将数组b的前n个元素追加到数组a的前m个元素后,假定数组a具有至少存放m+n个元素的空间。例如,如果数组a为  {22,33,44,55,66,77,88,99},数组b为{20,30,40,50,60,70,80,90},则调用Add(a,5,b,3)  后,将把数组a变为{22,33,44,55,66,20,30,40}。注意数组b并没有改变,而且数组a中只需改变n个元素。

#include <stdio.h>

void array_assig(int arry[],int num);

void Add (int a[],int m,int b[],int n);

void display(int a[],int len);

int main(void)
{
	int a[1024];
	int b[1024];
	int m,n;
	int m1,n1;
	
	//printf("请输入a,b数组元素个数:");
	scanf("%d%d",&m,&n);
	
	//printf("请输入a数组元素:");
	array_assig(a,m);
	
	//printf("请输入b数组元素:");
	array_assig(b,n);
	
	
	//printf("请输入拷贝到a数组第几个元素后,从b中拷贝几个");
	scanf("%d%d",&m1,&n1);
	
	Add (a,m1,b,n1);
	
	//printf("改变后数组值");
	display(a,m);
	
	return 0;
}


void array_assig(int arry[],int num)
{
	int i;
	for(i=0;i<num;i++)
	{
		scanf("%d",&arry[i]);
	}
	printf("\n");
}


void Add (int a[],int m1,int b[],int n1)
{
	int i;
	for(i=0;i<n1;i++)
	{
		a[m1++]=b[i];
	}
}

void display(int a[],int len)
{
	int i;
	for(i=0;i<len;i++)
	{
		printf("%d  ",a[i]);
	}
		printf("\n");	
}

运行结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值