看板 C_and_CPP 關於我們 聯絡資訊
其實你可能有誤解了 : 06 : 07 for (i = 1; i <= 6; i++) /* 外層迴圈決定哪一列要印星號 */ 其實他的意思是i=1,2,3,4,5,6,總共六次,看六次裡面是要做什麼? : 08 { : 09 for (j = 1; j <= i; j++) /* 內層迴圈印出*星號 */ : 10 : 11 printf ("*"); 這邊縮排容易讓人誤解,可以考慮再往右推。 : 12 printf ("\n"); : 13 } : 14 : 15 system ("pause"); : 16 return 0; : 17 } : 課本又解釋外層迴圈用來控制列印行數(迴圈控制變數i) 可以這麼說 : 而內層迴圈則是用來控制每一行列印的星號數目(迴圈控制變數j) : 一開始看課本這樣解釋 應該是說 : i用控制要列印出幾行 對吧 不太正確,如上所述。 : 則j是用來控制每一行要印幾個星號數 其實就像剛提到的,他意思是 j 從 1 開始到 i,總共做了 i 次 : 後來我有想到 那菱形的可以做一下試試看 : 重點來了我當初想說 i是控制行數 : j是控制星數目 那我是不是把j改成5 : 那是不是他第一行就會印出5個星 : 結果沒有 : 我想 這個程式 是不是跑幾次就出現幾個星 : 還是怎樣!!有點想不通 : 請大家指點 謝謝 建議先把 for loop 的章節再讀過一遍,然後考慮印出圖形的規律。 以菱形的 case ,可以試著想想如果菱形大小未知時候,該怎麼印? 該用什麼來表示菱形大小? 練習寫成函數,輸入菱形大小參數與第幾列,印出該列, 如此該函數就是你控制印出某列的工具了。 如果一直讀還是會有誤解,或許該換本課本 ^.< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.137.67
ming712800:謝謝指導 01/27 22:53