例如:
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;
}