使用二维数组处理数据

版权声明:由陈庚汝编辑 https://blog.csdn.net/ChenGengru/article/details/83721040

二维数组初体验
为一个二维数组的元素赋值,显示矩阵,求出最大元素,并显示次矩阵的转置矩阵。
代码:

#include<stdio.h>
#include<stdlib.h>
/* 二维数组的数据处理 */
/* written by Chen Gengru */
/* updated on 2018-11-4 */
int main()
{
	int a[2][3], b[3][2];
	int max, min;
	int h, l, i, j;
	
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("a[%d][%d]=", i, j);
			scanf("%d", &a[i][j]);
		}
	}
	
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("%d\t", a[i][j]);
		}
		printf("\n");
	}
	
	max = a[0][0];
	h = 0;
	l = 0;
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 3; j++)
		{
			if (max < a[i][j])
			{
				max = a[i][j];
				h = i;
				l = j;
			}
		}
	}
	printf("最大的元素是:a[%d][%d]=%d\n", h, l, max);
	
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 3; j++)
		{
			b[j][i]=a[i][j]; /*此处应注意,容易写反*/
		}
	}
	
	printf("矩阵的转置矩阵为\n");
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 2; j++)
		{
			printf("%d\t", b[i][j]);
		}
		printf("\n");
	}
	
	return 0;
 } 

注意:
定义转置矩阵的时候,是b[j][i] = a[i][j],而不是b[i][j] = a[j][i]!
因为此循环是对a的循环,a是主元,b跟着a走,故是把一个恰当的b放到一个给定的a中。

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ChenGengru/article/details/83721040