[問題] C語言倒三角形

看板C_and_CPP作者 (small)時間8年前 (2016/05/30 23:28), 8年前編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
想請問像這種的倒三角形要怎寫? 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 今天用了迴圈寫了很多次但是結果都不正確 所以想請問版上前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.26.53.237 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464622105.A.7AF.html

05/30 23:40, , 1F
http://pastebin.com/H08LEwaa 直覺解,應該能更好
05/30 23:40, 1F

05/30 23:56, , 2F
http://pastebin.com/Qu5ackvs 兩行解,但不好維護
05/30 23:56, 2F

05/31 00:04, , 3F
http://pastebin.com/S8wqjg0J 遞迴解,無聊時使用
05/31 00:04, 3F

05/31 00:06, , 4F
p.s. 其實這三個輸出 trailing 的處理有一點點不同
05/31 00:06, 4F

05/31 00:09, , 5F
然後下次可以先貼上你目前為這個題目做了什麼努力zz
05/31 00:09, 5F
好的不好意思 然後我現在想要加入scanf可以自己選擇層數 #include <stdio.h> void inv_tri(int); int main (void) { int num; printf("輸入層數:"); scanf("%d",&num); inv_tri(num); return 0; } void inv_tri(int num) { int i; for (i = num * num; i > (num - 1) * (num - 1); i--) printf("%2d ", i); printf("\n%*.s" , 3 * (5 - num), ""); if (num > 0) inv_tri(num - 1); } 發現層數會跑掉 沒辦法達到我想要的 例如: 9 8 7 6 5 4 3 2 1 或是 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 因為我現在還是有點沒辦法理解這個迴圈的意思 ※ 編輯: littlecc (114.26.53.237), 05/31/2016 00:38:52

05/31 00:46, , 6F

05/31 00:47, , 7F
原先的 indent 是寫死的 5 - num -> ind - num + 1
05/31 00:47, 7F
H大我大概了解了 然後剛剛想了一下 發現直覺解比較容易思考出來 非常感謝你! ※ 編輯: littlecc (114.26.53.237), 05/31/2016 00:52:30

05/31 08:17, , 8F
5(9-8-7-6-5),3(4-3-2),1 (1) 遞減印出數字
05/31 08:17, 8F

05/31 11:11, , 9F
這種問題用陣列去解比較方便
05/31 11:11, 9F
文章代碼(AID): #1NJ5mPUl (C_and_CPP)