輸入N,列印N邊正方形

2021-10-08 00:23:55 字數 1312 閱讀 6644

題目:輸入n,列印n邊正方形

輸入n,螺旋列印n邊正方形

直接上圖:

第一眼就想著找規律,想怎麼把規則寫下來,再解。

開始還是懶惰戰勝了,第一種解法是建立乙個 n*n的陣列,將陣列的每個值都計算好,然後迴圈列印出來就可以了。

其實這樣看著題是解出來了,弊端自己想吧 

後來閒著無聊,還把決定正常解吧,下面是我的思路,**可能有些位置寫的不太好,將就看吧。

1.這是乙個n*n的正方形,以四個頂點為基礎,做交叉對角線,可分為上下左右四個等腰三角形

暫時分別命名為:上、下、左,右 ------嘿嘿

2.看規律:

上:從外圈往內圈看,每個單圈都是*,雙圈都是空

右:從外圈往內圈看,每個單圈都是*,雙圈都是空

下:從外圈往內圈看,每個單圈都是*,雙圈都是空左。(除了第一圈第乙個點)

3:以 abcdef這行線和1234567890這行線,分別定義為x/y軸,向下和向右取正,做倒向軸線計算

只有算出當前點落在哪個三角線內,並且在第幾圈範圍內就可以確定這個點是*還是空了。

上**:測試了幾個資料沒問題,可能有兩條線寫的不太對,懶得改(懶也是種病,不過貌似很難**了---笑哭吧)

package com.ww.test.draw;

/** * @author w.w

* @date 2020/6/24

*/public class draw else

}system.out.println();

for (int i = 1; i <= n; i++) else

// 列印資料

for (int j = 1; j <= n; j++) else

}system.out.println();}}

/*** 開始計算座標

列印正方形。

題目 列印乙個由16個 組成的正方形。1 program shen8 2var 3i integer 45 begin 6for i 1to4 do7begin 8 writeln 9end 10 11 end.加強訓練 列印數字1 80,每8個數字一行,共列印10行,列印時每個數字佔3個格的寬度。...

C 列印蛇形正方形矩陣

c 列印蛇形正方形矩陣,如 1 2 3 8 9 4 7 6 5 using system using system.collections.generic using system.linq using system.text public static int getsnakematrix int...

10 正方形輸入資料 陣列

正方形輸入資料 正方形輸入資料 程式 如下 2017年3月13日09 09 58 功能 正方形輸入資料 include stdio.h int main printf 請輸入你的階數n scanf d n for n 0 n n 2 n for i 0 i 總結 在vc 6.0中顯示的結果 請輸入你...