描述:
在乙個n*n的方陣中,填入1,2,……n*n個數,並要求構成如下的格式:
例如:n=5
13 14 15 16 1
12 23 24 17 2
11 22 25 18 3
10 21 20 19 4
9 8 7 6 5
n=616 17 18 19 20 1
15 30 31 32 21 2
14 29 36 33 22 3
13 28 35 34 23 4
12 27 26 25 24 5
11 10 9 8 7 6
輸入每個測試檔案只包含一組測試資料,每組輸入乙個n。(1<=n<=20)
輸出輸出構成的方陣,每個數字之間只有乙個空格,行首,行末沒有空格
解題思路:
(1)可以看出是從方陣的右上角的1開始,即將a [ 1 ] [ n ] 初始化為1。初始迴圈時令i=1; j=n;
依次向下,向左,向上,向右走,重複這四個過程。則需要四個迴圈來分別控制向下,向左,向 上,向右。 且下乙個值=上乙個值+1
(2)下一步是判斷四個迴圈時的條件:共有n行n列,則向下走的終止條件是i1,向上走的終止條件是i>1,向右走的終止條件是j(3)下面判斷四個迴圈的終止條件:迴圈1次,數值加1。當數值為n*n時跳出迴圈,即需要定義乙個變數tot為1,當tot>n*n時跳出迴圈,因為a [ 1 ] [ n ]已經被定義過了,所以只要迴圈n*n-1次,且從a [ 2] [ n ]開始迴圈即可。
**如下:
#includeint main()
; int i=1,j=n,tot=1;
a[1][n]=1;
while(tot1)&&(a[i][j-1]==0)) //向左走
while((i>1)&&(a[i-1][j]==0)) //向上走
while((j}
for(i=1;i<=n;i++) //輸出資料
printf("%d",a[i][j]);
printf("\n");
} return 0;
}
運維小白養成記
2020.2.24 千鋒逆戰班,北京雲計算2001 這是在千鋒逆戰班學習的第15天,我們今天學習了磁碟陣列raid 檔案的查詢以及檔案的壓縮和解壓。這是乙個好的開始,拼搏到能為力,堅持到感動自己!噢力給!分享一下今天的學習內容 先是一波只是回顧。知識回顧帶 的重點 許可權物件 ugo 分類 rwx ...
小白養成記 (3) 函式篇
感覺函式好難,雖然它是乙個殼子.還是直接看題吧 1 輸出100以內的全部素數,每個素數佔六列 include includeint prime int m int main printf n return 0 int prime int m return 1 2 驗證哥德 猜想 include in...