列印回形陣列

2021-09-22 16:27:43 字數 1466 閱讀 6061

前段時間面試的時候被問到列印回形陣列,當時只寫了個大概,後來網上看了下,也實現得麻煩,就重新寫了下,

題目:輸入乙個整數n,列印出從1~n*n的n*n矩陣。 

比如n = 3,構成矩陣: 

1,2,3,

8,9,4,

7,6,5,

比如n = 4,構成矩陣: 

1, 2, 3, 4,

12,13,14, 5,

11,16,15, 6,

10, 9, 8, 7,

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,

對於輸入的整數,安行輸出回形矩陣。 

思路就是按照回形陣列的規則,第一行先向右存放陣列,然後折行向下,然後向左,最後向上,形成回形。

只用迴圈一次就可以了(看了幾篇文章,用了幾層迴圈,較麻煩)

列舉類,用來代表「上下左右」四個方向

public enum directionenum

public void setcode(int code)

public string getdescription()

public void setdescription(string description)

directionenum(int code, string description)

private int code;

private string description;

public static directionenum getdirectionbycode(int code)

}return null;}}

演算法實現

private int algorithm(int n)else

}break;

case down:else

}break;

case left:else

}break;

case up:else

}break;

default:}}

return result;

}

演算法呼叫及列印輸出

public void dotest(){

int n=11;

int maxnumlength=string.valueof(n*n).length();

int result=algorithm(n);

//格式化列印輸出

for ( int i=0;i執行結果如下圖:

列印陀螺形數字

使用者輸入n,編寫程式通過二維陣列列印如下所示陀螺形數字 以n 6為例 1 20 19 18 17 16 2 21 32 31 30 15 3 22 33 36 29 14 4 23 34 35 28 13 5 24 25 26 27 12 6 7 8 9 10 11 列印陀螺形數字 通過控制二維陣...

樹形陣列 php,php 樹形陣列

樹形陣列 方法一 function gentree5 items foreach items as item items item pid son item id items item id return isset items 0 son items 0 son array 方法二 functio...

列印蛇字形數字

如 輸出 1 8 7 2 9 6 3 4 5 我的思路 遍歷一圈看成一趟 用變數count 表示那麼tripnum從 0,到 n 1 2 設定4個變數 left,right,up,down 並初始化 如下,很簡單 include includeusing namespace std define n...