C语言 两个二维数组的合并

该程序定义并初始化了两个二维字符数组,分别用arr1和arr2表示,然后创建了一个更大的二维数组arr3来合并这两个数组。数组arr1的范围是0-59,而arr2的范围是0-80。程序通过循环将arr1和arr2的内容填充到arr3中,形成一个0-140的坐标范围。最后,程序打印出arr3的最后一个元素。
摘要由CSDN通过智能技术生成

1、先定义两个二维数组,一个横纵坐标范围都是0-60,一个是0-80;合并后的数组的范围应该是

0-140,在新数组的前60*60中存放的第一个数组,在60到140之间存放第二个数组。

2、数组合并是要注意新数组的容量,避免两个数组相加后新数组无法容纳。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define a  60
#define b  60
//宏定义(a,b)坐标容量
#define c  80
#define d  80
//宏定义(c,d)坐标容量
int main()
{
	char arr1[a][b] = {0};//数组1
	char arr2[c][d] = {0};//数组2
	char arr3[a + c][b+d] = {0};
	//数组3=数组1+数组2,容量相加
	int i;
	int j;
	for (i = 0; i < a; i++)
	{
		arr1[i] [0] = i;
		for (j = 0; j < b; j++)
		{  
			arr1[i][j] = j;//在数组1的横纵坐标存放0-59
		}
	}
	for (i = 0; i < c; i++)
	{
			arr2[i][0] = i;
		for (j = 0; j < d; j++)
		{
			arr2[i][j] = j;//在数组1的横纵坐标存放0-80
		}
	}
	for (i = 0; i <a; i++)
	{
		arr3[i][0] = arr1[i][0];
		for (j = 0; j <b; j++)
		{
			
		arr3[i][j] = arr1[i][j];//将数组1存放在数组3中
		}
	}
	for (i = 0; i<c; i++)
	{
		arr3[a+i][0] = arr2[i][0];
		for (j = 0; j < d; j++)
		{
		arr3[a+i][b+j] = arr2[i][j];//将数组2拼接在数组1后面
		}
	}

	printf("%3d",arr3[80][80]);
return 0;
}

 如有问题,还望指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值