輸入乙個自然數n(2≤n≤9),要求輸出如下的魔方陣,即邊長為n*n,元素取值為1至n*n,1在左上角,呈順時針方向依次放置各元素。
n=3時:
1 2 3
8 9 4
7 6 5
【輸入形式】
從標準輸入讀取乙個整數n。
【輸出形式】
向標準輸出列印結果。輸出符合要求的方陣,每個數字佔5個字元寬度,向右對齊,在每一行末均輸出乙個回車符。
【輸入樣例】
4
【輸出樣例】
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
#include
using namespace std;
void snakematrix( int **addr, int n );
int main()
break;
case right:
if(++j >= n-1-layer)
break;
case up:
if(--i <= layer)
break;
case left:
if(--j <= layer+1)
break;
}} }注釋
:昨晚有朋友叫我做這個題目,想了好久除了比較笨的每行每列的輸入,沒有想出什麼好的辦法。今天在網上搜尋了下這類題,
http://topic.csdn.net/t/20050513/14/4004333.html#-------這是鏈結位址。
自己總結了下,才有了以上**。
另外意外發現了乙個自己以前不知道的知識點,現在只是知道其然,不知道其所以然。具體情況如下:
在上題中,我剛開始給snakematrix()函式傳的是a的二級指標,然後在該函式中以addr[i*n+j]=num++;來訪問,但程式報錯,若傳的是二維陣列的首位址,卻能正常執行。
螺旋矩陣 蛇形矩陣
問題描述 給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。輸入有多個矩陣。每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數 輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。輸入樣例 3 31 2 3 4 5 6 7 8 ...
螺旋方針(螺旋矩陣)
螺旋方陣 time limit 1000ms memory limit 65536kb problem description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有...
列印魔方矩陣
列印魔方矩陣 define crt secure no warnings 1 include define n 5 5階魔方矩陣 模仿矩陣即 每一行之和 和 每一列之和 和 對角線之和 相等 8 1 6 3 5 7 4 9 2 3階魔方矩陣 每一行之和 和 每一列之和 和 對角線之和 均等與15 實...