练习>>将一个三行三列的二维数组的行列交换

例如:

1  2  3            1  4  7

4  5  6     >>   2  5  8

7  8  9            3  6  9

题目分析:

因为该数组是个奇数行奇数列的数组;所以我们只需要外循环控制行‘循环3次,内循环控制列,循环一次;(如果内循环也循环三次,那么就重复了,相当于没交换,如果内循两词次也达不到效果)

 
代码实现:


#include <stdio.h>

int main()
{
	int arr[3][3];
	int i = 0;
	int j = 0;
	int tmp = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	for (i = 0; i <3 ; i++)
	{
		for (j = 0; j < 1 ; j++)
		{
			tmp = arr[i][j];
			arr[i][j] = arr[j][i];
			arr[j][i] = tmp;
		}
		tmp = arr[1][2];
		arr[1][2] = arr[2][1];
		arr[2][1] = tmp;
	}
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("%d ",arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/2301_77509762/article/details/130812263