- /*
- 输出 n=5 的螺旋方阵
- 1 2 3 4 5
- 16 17 18 19 6
- 15 24 25 20 7
- 14 23 22 21 8
- 13 12 11 10 9
- */
- class Example001
- {
- public static void main(String[] args)
- {
-
- int size = 5;
- int arr[][] = new int[size][size];
- int i, j, k = 0, n, m;
- n = size;
- for (i = 0; i < n; i++) {
- // 顶边,从左到右,行不变列变
- for (j = i; j <= n - i - 1; j++)
- arr[i][j] = ++k;// i=0进来是输出1、2、3、4、5; i=1进来输出17、18、19 ;i=3,输出25
-
- // 右边,从上到下,行变列不变
- for (j = i + 1; j <= n - i - 1; j++)
- arr[j][n - i - 1] = ++k; // i=0进来是输出6、7、8、9 ; i=1进来输出20、21
-
- // 底边,从右到左,行不变列变
- for (j = n - i - 2; j >= i; j--)
- arr[n - i - 1][j] = ++k; // i=0进来是输出10、11、12、13;i=1进来输出22、23
-
- // 左边,从下到上,行变列不变
- for (j = n - i - 2; j >= i + 1; j--)
- arr[j][i] = ++k; // i=0进来是输出14、15、16 ;i=1进来输出24
- }
-
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++)
- System.out.print(arr[i][j] + "\t");
- System.out.println();
- }
-
-
-
- }
- }
复制代码 |