c 編輯回形矩陣,codeblocks編寫。

2021-10-19 09:37:43 字數 1030 閱讀 5995

回形要求,中間空格,每一行後不得有空格,要求大小自己定義。

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

#include

using

namespace std;

intmain()

}else

if(i2!=n1&&j2==n1)

//i++;

}else

if(i2==n1&&j2==n1)

//j--;

}else

if(i2==n1&&j2!=n1)

if(i==j)}}

}for

(int i=

1;i<=n;i++

)else}}

return0;

}

寫這段**的時候**病又犯了,就是沒有想清楚最佳的方法去寫,總是想著矩陣拐角轉彎時要加入if語句,行是行,可是有點傻啊。最後想到,反正是回形,每一次都有迴圈,何不直接四個迴圈就好了嗎?當收縮一圈時,迴圈範圍變小便可以了,下面是改進後的**:

#include

using

namespace std;

intmain()

for(

int i=first;i<_end;i++

)for

(int i=_end;i>first;i--

)for

(int i=_end;i>first;i--

) first++

;_end--;if

(first==_end)

}for

(int i=

0;i)else}}

return0;

}

所以,在編寫每乙個問題的時候,一定要想要方法,可以在腦海裡演算一遍,最後想出合適的演算法再寫,不然想我一樣想到什麼寫什麼很吃虧。

蛇形(回形)矩陣

如下 蛇形 回形 矩陣的實現 解題思路 整體思路 每一圈的數值都是連續的,所以我們一圈一圈的賦值 對一圈的初始化 1 設定 p,p 每一圈最左上角的座標 q,q 每一圈最右下角的座標 2 對每一圈分四部 上,右,下,左 分別初始化 為了使這四步對稱 賦值個數相同 按下圖這樣初始化 1的位置初始化 上...

C 分別實現螺旋矩陣 回形矩陣 蛇形矩陣

1 螺旋矩陣 題目描述 輸入n,試列印輸出n n的 螺旋矩陣 每個元素佔4位場寬 輸入例如n 7,矩陣如下圖 輸出 原始碼 include include using namespace std 螺旋矩陣 intmain int cnt 1 int x 0,y 0 int dx 0,dy 1 whi...

C語言 回形取數

基礎練習 回形取數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格...