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