看板 C_Sharp 關於我們 聯絡資訊
我在練習畫一個漏斗出來 像是這樣的 *****  ***   *  *** ***** 但是怎麼畫好像都只有畫一個三角形而已 我上下的形狀都有寫判斷式了 想來請問版上的大大們,那裡的邏輯出了問題? 以下是我的程式 int x,y,center; for (x = 1; x <= 5; x++) { center = Math.Abs(3 - x); for (y = 1; y <= 5; y++) { if (y <= 3 + center && y >= 3 - center) { System.Console.Write("*"); } else { System.Console.Write(" "); } } System.Console.WriteLine(); } } 後來重想思考了一遍,我也上網參考了一些資料。 我後來想到利用中心點去找出X行數的位移量 center = Math.abs(3-x) << 這個 這樣會變成 1.2.0.-1.-2 我後來用絕對值使它們變成正數。 再去y裡面做畫"*"的判斷。 不知道我中心點的說法合不合邏輯= =" 雖然是自已想的,但還是有點懷疑 XD 請大大指正!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.134.138
ssccg:看不懂你的作法,不過第二行 x 沒初始化能用? 07/23 19:41
ssccg:然後你全都用WriteLine(),每個符號都會換行吧 07/23 19:41
F23ko:不知道為什麼,我看到這種題目,都會給她: 07/23 20:27
F23ko:System.Console.WriteLine("*****"); 07/23 20:27
F23ko:System.Console.WriteLine(" *** "); 07/23 20:28
F23ko:System.Console.WriteLine(" * "); 07/23 20:28
F23ko:System.Console.WriteLine(" *** "); 07/23 20:28
F23ko:System.Console.WriteLine("*****"); 07/23 20:28
F23ko:這樣下去...... 07/23 20:28
party100046:= =+ 07/23 20:33
F23ko:不覺得跟一堆迴圈比起來,這種方法簡單好懂嗎? :P 07/23 20:35
party100046:是沒錯啦~ 但是邏輯上算是土法煉鋼= =" 07/23 20:54
party100046:漏斗的中心點要如何抓到? 07/23 21:06
F23ko:糟糕.....我想玩這一題了 XD 07/23 21:23
james732:F23ko那種寫法在學校會零分喔...XDDDD 07/23 21:30
F23ko:(  ̄  ̄)y▂ξ 我自修 呼呼~~ 07/23 21:31
party100046:鐵定零分= = 07/23 21:46
※ 編輯: party100046 來自: 123.204.134.138 (07/23 21:51)
redseye:不會零分啦 除非指定輸入行數等 XDD 07/23 23:21
ssccg: 其實就是 |y - center| ≦ |x - center| 07/23 23:29
ssccg:如果center是(行數+1)/2 07/23 23:30