C語言蛇形矩陣之崴腳的小北

2021-10-10 22:44:47 字數 1160 閱讀 2011

如上,小北按照到達的順序形成了44的矩陣。

現在給你乙個數字n,請你列印出這個小北走的nn步以後形成的矩陣。

單組輸入

輸入乙個整數你,代表小北走了n*n步(n<=15)

輸出乙個n行的矩陣。矩陣中同一行的數字用乙個空格分開。

(這裡為了方便觀察沒有按照這個要求輸出)

1 2 9

4 3 8

5 6 7

**如下:(詳細注釋在**內部)

~

#include

/*為了方便觀察與計算,二維陣列是從第一行第一列開始的*/

intmain

(void)}

//陣列向下移動的條件

if(j==x+1&&

(j-1)%

2==0)

//判斷當前列與行的關係,之所以j-1是因為上面的for迴圈會使j多加一次}if

((i-1)

==j&&

(i-1)%

2==0)

//上面的for迴圈使i多加了一次減回來再進行判斷

}//第一列向下移動的條件

if(i%2==

0&&(j+1)==1)

//j+1是因為上面的for迴圈會使減到0而我們的陣列是從1 1 開始的。

//向右移動賦值的條件

//奇數行且列是從第乙個開始的。

for(j=

1; j<=i; j++

)//向上賦值的條件if(

(j-1

)==i&&

(j-1)%

2!=0)

} i=1;

//開始下一次迴圈將行標賦值為1,上面的for迴圈會使i撿到0;

x=x+2;

//x代表下一次的陣列的列的最大值,因為列發生了改變

temp=temp-2;

}//簡單的迴圈輸出二維陣列,這裡調整了下輸出的格式。

int n;

scanf

("%d"

,&n);if

(n>=

1&&n<=15)

printf

("\n");

}}

蛇形矩陣的一種解法(C語言)

錨定中心點 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...

遞迴法解決回式蛇形矩陣的輸出(C語言的實現)

蛇形矩陣有多種,今天說的是下面這種回形的蛇形矩陣。如4x4的回形蛇形矩陣 如5x5的回形蛇形矩陣 通過分析發現,這種矩陣,在走一圈以後又變成乙個小2個的矩陣,如5x5的矩陣,從1 2 3。到14 15 16一圈後,變成了3x3的矩陣,因此可以使用遞迴的方式來解決這個問題。1.走一圈需要4個迴圈 1 ...

C語言 力扣 378 有序矩陣中第K小的元素

給定乙個 n x n 矩陣,其中每行和每列元素均按公升序排序,找到矩陣中第 k 小的元素。請注意,它是排序後的第 k 小元素,而不是第 k 個不同的元素。matrix 1,5,9 10,11,13 12,13,15 k 8,返回 13。該題目在力扣中屬於中等難度,因此確實是有些難到我了?不過沒事,最...