next up previous contents
Next: main 函式 Up: 迴圈 Previous: 巢式迴圈   Contents

實機練習題

  1. 共同要求:
    1. 在家目錄下建立 zzz 目錄。
    2. 切換工作目錄到 zzz,所有練習皆存在此目錄。
    3. 題目沒要求的,不要多做,除題目輸出範例要求的空白外,不要多加任何空白或空白行。
  2. 撰寫 C 語言程式
    1. 程式 loop1.c 以 scanf 從鍵盤輸入兩個整數 a 及 b,中間以空白隔開,以 for 迴圈累加 a 到 b。例如:a=3, b=6,輸出,輸出「3+4+5+6=18」,印出結束要換行,編譯成可執行檔 loop1。但
      1. 如果 a>b 則 a, b 對調。
      2. 如果 a<=0 或沒輸入則從 1 開始累加。
      3. 如果 b<=0 或 b>=20 或沒輸入則從累加到 20。
    2. 程式 loop2.c 以 scanf 從鍵盤輸入一個整數 a,以 while 迴圈累加 1 到 a,只累加奇數。並使用 while 迴圈,讓使用者輸入小於 20 的正奇數 a 為止。 例如:a=5,輸出,輸出「1+3+5=9」,印出結束要換行,編譯成可執行檔 loop2。
    3. 承上題 loop2.c,程式 loop3.c 將輸入的 while 迴圈改成 do...while 迴圈,判斷變數必須是正偶數且小於 32,計算 2 累加到 a 的結果。 例如:a=8,輸出,輸出「2+4+6+8=20」,印出結束要換行,編譯成可執行檔 loop3。
    4. 承上題 loop3.c,程式 loop4.c 為避免變成無窮迴圈,輸入的 do...while 迴圈增加用戶輸入超過三次不滿足即退出 (使用 return) 的判斷式,並印出「輸入超過3次」,印出結束要換行,編譯成可執行檔 loop4。
    5. 程式 loop5.c 修改 7.4 「標準輸入輸出」的 stdio3.c,使用空迴圈直到讀到 Enter 換行符號,再繼續輸入字串。編譯成可執行檔 loop5。
    6. 程式 loop6.c 以 scanf 從鍵盤輸入一個整數 a,使用 for 迴圈配合 continue 累加 a 到 100 中整除 5 的整數。 例如:a=89,輸出,輸出「90+95+100=285」,印出結束要換行,編譯成可執行檔 loop6。
    7. 承上題 loop6.c 程式 loop7.c 在 for 迴圈中再使用 break,於加總大於 500 就退出迴圈不再累加,如下列範例。編譯成可執行檔 loop7。
      Enter an integer: 34
      35+40+45+50+55+60+65+70+75+80=575
      
    8. 程式 loop8.c 以 scanf 輸入一個 3 到 8 的數字,使用巢式迴圈畫出三角圖形,編譯成可執行檔 loop8 。例如:輸入 4 輸出如下:
      0001000
      0022200
      0333330
      4444444
      


De-Yu Wang 2019-08-14