推 ming712800:謝謝指導 01/27 22:53
其實你可能有誤解了
: 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