看板 C_and_CPP 關於我們 聯絡資訊
想請問像這種的倒三角形要怎寫? 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
Hazukashiine: http://pastebin.com/H08LEwaa 直覺解,應該能更好 05/30 23:40
Hazukashiine: http://pastebin.com/Qu5ackvs 兩行解,但不好維護 05/30 23:56
Hazukashiine: http://pastebin.com/S8wqjg0J 遞迴解,無聊時使用 05/31 00:04
Hazukashiine: p.s. 其實這三個輸出 trailing 的處理有一點點不同 05/31 00:06
Hazukashiine: 然後下次可以先貼上你目前為這個題目做了什麼努力zz 05/31 00:09
好的不好意思 然後我現在想要加入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
Hazukashiine: http://pastebin.com/SaE5vFfb 05/31 00:46
Hazukashiine: 原先的 indent 是寫死的 5 - num -> ind - num + 1 05/31 00:47
H大我大概了解了 然後剛剛想了一下 發現直覺解比較容易思考出來 非常感謝你! ※ 編輯: littlecc (114.26.53.237), 05/31/2016 00:52:30
morewatertw: 5(9-8-7-6-5),3(4-3-2),1 (1) 遞減印出數字 05/31 08:17
testPtt: 這種問題用陣列去解比較方便 05/31 11:11