; //錨定中心點
int i = n/2;
int j = n/2;
int k = 0;
int dir[4] = ;
a[i][j] = num;
num++;
while(num <= n*n)
while(flag_feet != feet);//直到挪動到指定步數
k++;
break;
case down :
flag_feet = 0;
dowhile(flag_feet != feet);
k++;//方向改變
feet++;//只有向上和向下時,才改變步長
break;
case left :
flag_feet = 0;
dowhile(flag_feet != feet);
k++;
break;
case up :
flag_feet = 0;
dowhile(flag_feet != feet);
k++;
feet++;
break; }}
for(i=0;i//為了看起來更像彎曲的蛇,因此需要控制空格數量。
}
putchar('\n');
}} return 0;
}
思路非常簡單,首先明確兩個
1.方向。
2.步長。
此種蛇形矩陣的規律為右1下1,左2上2,以此類推。因此我們只要設定蛇形矩陣方向是四種方向,然後每次行走的距離需要一步一步走到設定的步長即可。
c語言寫蛇形矩陣
這道題我真的也弄了很久。演算法分析 首先我們把它分成上三角和下三角。我們可以把上三角賦值想這樣子1,2 3,4 5 6,7 8 9 10,11 12 13 14 15.第1次賦值是1次,第2次是2次,第3次是3次.所以外迴圈是n次,內迴圈次數等於該次輸出數字的最大行數。然後我們看奇數行和數行的行走的...
C語言演算法(1) 蛇形矩陣
題目來自 c語言網 題目描述 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。輸入本題有多組資料,每組資料由乙個正整數n組成。n不大於100 輸出對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。樣例輸入 5 樣例輸...
Poj 3328的一種解法
題目描述 今天上午想把3328題做了,一看發現有點難。於是,便上網搜解題報告,最終還是沒找到乙個解題報告。決定自己把它搞定了。看了discussion,有人說要用優先佇列和dij演算法或者dfs再或者bfs,但是我沒用過優先佇列,上午的時間就拿來簡單的學學優先佇列,再複習一下dij演算法。下午又把題...