黑马程序员技术交流社区

标题: 各位大神!螺旋矩阵求代码!看题哦 [打印本页]

作者: 叫我斯文哥    时间: 2015-7-20 22:45
标题: 各位大神!螺旋矩阵求代码!看题哦
以下是1到25的 螺旋矩阵,求大神看后用代码打出!!!:'(

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
作者: joerk    时间: 2015-7-20 22:58
我的帖子里有,你去看吧
作者: 叫我斯文哥    时间: 2015-7-23 21:58
joerk 发表于 2015-7-20 22:58
我的帖子里有,你去看吧

:lol:handshake
作者: 392225327    时间: 2015-7-24 00:19
  1. /*
  2. 输出n=5的螺旋方阵
  3. 1        2        3        4        5
  4. 16        17        18        19        6
  5. 15        24        25        20        7
  6. 14        23        22        21        8
  7. 13        12        11        10        9

  8. */
  9. class  ScrewArray//螺旋
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 int SIZE = 5;
  14.                 int arr[][] = new int[SIZE][SIZE];
  15.                 int i, j, k = 0, n, m;
  16.                 n = SIZE;
  17.                 m = (n + 1) / 2;
  18.                 for (i = 0; i < n; i++) {
  19.                         // 顶边,从左到右,行不变列变
  20.                         for (j = i; j <= n - i - 1; j++)
  21.                                 arr[i][j] = ++k;// 输出1、2、3、4、13、14
  22.                        
  23.                         // 右边,从上到下,行变列不变
  24.                         for (j = i + 1; j <= n - i - 1; j++)
  25.                                 arr[j][n - i - 1] = ++k; // 输出5、6、7、15
  26.                        
  27.                         // 底边,从右到左,行不变列变
  28.                         for (j = n - i - 2; j >= i; j--)
  29.                                 arr[n - i - 1][j] = ++k; // 输出8、9、10、16
  30.                        
  31.                         // 左边,从下到上,行变列不变
  32.                         for (j = n - i - 2; j >= i + 1; j--)
  33.                                 arr[j][i] = ++k; // 输出11、12
  34.                 }
  35.                 for (i = 0; i < n; i++) {
  36.                         for (j = 0; j < n; j++)
  37.                                 System.out.print(arr[i][j] + "\t");
  38.                         System.out.println("");
  39.                 }
  40.         }
  41. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2