遞推遞迴練習 O 螺旋方陣

2021-07-29 12:31:37 字數 911 閱讀 8802

description

n×n的螺旋方陣當n=5和n=3時分別是如下的形式 

請給出乙個程式,對於任意的輸入n(0<n<11),輸出按照上面規律所獲得的n×n的螺旋方陣。

input

輸入第一行為整數m(0<m<10),代表有m組輸入; 

接下來是m行資料,每行輸入乙個n(0<n<11)。

output

按照輸入的次序,依次輸出每乙個n×n方陣(乙個方陣的同一行資料之間以'\t'分隔)

#include using namespace std;

int main()

; int n,n1,n2,num,count=1;

while(~scanf("%d",&n2))

{while(n2--)

{scanf("%d",&n);

count=1;

j=0;

i=0;

num=n-1;//num表示每層每行(或每列)需要幾次賦值

if(n%2>0)

n1=n/2+1;

else

n1=n/2;//n1表示螺旋方陣有幾層

for(b=0;bsample input14

sample output

1   2   3   4

12  13  14  5

11  16  15  6

10 9  8   7

該題的關鍵在於如何設定螺旋迴圈

每一層4個小迴圈,比如樣例輸出 一層迴圈中 1 2 3 乙個小迴圈 5 6 7 乙個小迴圈 7 8 9 乙個小迴圈 10 11 12 乙個小迴圈,外層可以設定n-=2再進行下一層大迴圈,最裡面的部分分奇數偶數處理細節,**如下:

遞推遞迴練習 O 螺旋方陣

description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有 組輸入 接下來是 行資料,每行輸入乙個 0 11 output 按照輸入的次序,依次輸出每乙個 方陣 ...

遞推遞迴練習 O 螺旋方陣

題目簡述 給定一數字,寫出其螺旋矩陣,例如 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.解題思路 用二維陣列是肯定的了。開始考慮用迴圈解決問題,但是考慮用迴圈會不會太麻煩,但是最後還是用了迴圈沒有想到別的好辦法。...

遞迴遞推之螺旋方陣

列印方陣,輸入n,列印如圖所示的方陣。用二維陣列,a n m 觀察這個,得到數字從一開始增加,而增加的順序是 1。m不變,n先從最小增加到最大。2。然後n不變,m從小增加到最大。3。然後m不變,n從大減到最小。4。n不變,m從最大減到最小。再就是迴圈了,下一次的這種迴圈,n和m會分別減少1。即數變少...