首先我們要清楚螺旋矩陣的內涵,即所謂「螺旋方陣」,是指對任意給定的n,將1到n×n的數字從左上角第1個格仔開始,按順時針螺旋方向順序填入n×n的方陣裡。
最基本的就是定義乙個二維陣列,對其進行向右 向下 向左 向上的依次迴圈。
1 2 3 4 516 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
#include
intmain()
,i,j,n,x=
0,y=
0,c=1;
scanf
("%d"
,&n)
; a[x]
[y]=1;
while
(c!=n*n)
while
(x+1
!a[x+1]
[y])
while
(y-1
>=0&&
!a[x]
[y-1])
while
(x-1
>=0&&
!a[x-1]
[y])
}for
(x=0
;x)printf
("\n");
}}
由於目前接觸c語言時間尚淺,對於後續螺旋矩陣的實現在更熟悉c語言的基礎上進行更新。 (PAT乙級)1050 螺旋矩陣(C語言實現)
總結 1 兩個會卡住的思路難點 n,m的值怎麼確定。怎麼列印螺旋矩陣。對於 我本來的想法是找出n的所有約數,然後再在約數裡面找到差值最小對應的n,m。這樣步驟繁雜,又要先找約數,然後又要判斷最小值是哪兩個數的差。其實約數裡面是有對應的,比如 12的約數 1,2,3,4,6,12 其中1 12 3 4...
c語言實現螺旋陣列
螺旋陣列 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 分析 這是乙個一維維度和二維維度相等的陣列arr len len 將num 1開始從arr 0 0 賦值,直到num len len結束賦值。在賦值過程中,如...
螺旋矩陣 C語言
題目 給定乙個數n,生成乙個包含1 n 2 的螺旋形矩陣.螺旋由外向內順時針旋轉,可參照樣例 樣例 1 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 主要 一圈一圈遍歷矩陣。邊界處理。矩陣的上下左右邊界。邊界處理 int shang,xia,zuo,you shang 0 xia n...