前段時間面試的時候被問到列印回形陣列,當時只寫了個大概,後來網上看了下,也實現得麻煩,就重新寫了下,
題目:輸入乙個整數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...