[問題] 畫一個漏斗圖案

看板C_Sharp作者 (陳靖仇)時間15年前 (2010/07/23 19:26), 編輯推噓4(4016)
留言20則, 5人參與, 最新討論串1/4 (看更多)
我在練習畫一個漏斗出來 像是這樣的 *****  ***   *  *** ***** 但是怎麼畫好像都只有畫一個三角形而已 我上下的形狀都有寫判斷式了 想來請問版上的大大們,那裡的邏輯出了問題? 以下是我的程式 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

07/23 19:41, , 1F
看不懂你的作法,不過第二行 x 沒初始化能用?
07/23 19:41, 1F

07/23 19:41, , 2F
然後你全都用WriteLine(),每個符號都會換行吧
07/23 19:41, 2F

07/23 20:27, , 3F
不知道為什麼,我看到這種題目,都會給她:
07/23 20:27, 3F

07/23 20:27, , 4F
System.Console.WriteLine("*****");
07/23 20:27, 4F

07/23 20:28, , 5F
System.Console.WriteLine(" *** ");
07/23 20:28, 5F

07/23 20:28, , 6F
System.Console.WriteLine(" * ");
07/23 20:28, 6F

07/23 20:28, , 7F
System.Console.WriteLine(" *** ");
07/23 20:28, 7F

07/23 20:28, , 8F
System.Console.WriteLine("*****");
07/23 20:28, 8F

07/23 20:28, , 9F
這樣下去......
07/23 20:28, 9F

07/23 20:33, , 10F
= =+
07/23 20:33, 10F

07/23 20:35, , 11F
不覺得跟一堆迴圈比起來,這種方法簡單好懂嗎? :P
07/23 20:35, 11F

07/23 20:54, , 12F
是沒錯啦~ 但是邏輯上算是土法煉鋼= ="
07/23 20:54, 12F

07/23 21:06, , 13F
漏斗的中心點要如何抓到?
07/23 21:06, 13F

07/23 21:23, , 14F
糟糕.....我想玩這一題了 XD
07/23 21:23, 14F

07/23 21:30, , 15F
F23ko那種寫法在學校會零分喔...XDDDD
07/23 21:30, 15F

07/23 21:31, , 16F
(  ̄  ̄)y▂ξ 我自修 呼呼~~
07/23 21:31, 16F

07/23 21:46, , 17F
鐵定零分= =
07/23 21:46, 17F
※ 編輯: party100046 來自: 123.204.134.138 (07/23 21:51)

07/23 23:21, , 18F
不會零分啦 除非指定輸入行數等 XDD
07/23 23:21, 18F

07/23 23:29, , 19F
其實就是 |y - center| ≦ |x - center|
07/23 23:29, 19F

07/23 23:30, , 20F
如果center是(行數+1)/2
07/23 23:30, 20F
文章代碼(AID): #1CINnOVM (C_Sharp)
文章代碼(AID): #1CINnOVM (C_Sharp)