← 回題目列表
c難度 ●●
巢狀迴圈:九九乘法表
兩層迴圈套在一起,外層跑一圈、內層就整個跑完一輪。
題目
印出 2 到 9 的乘法表,每一列是同一個乘數。
預期輸出(前兩列):
2x1= 2 2x2= 4 2x3= 6 2x4= 8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
3x1= 3 3x2= 6 3x3= 9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
提示
外層迴圈管乘數(2 到 9),內層迴圈管被乘數(1 到 9)。
換行要放在內層迴圈結束之後,不然每印一個算式就換行。這一行放錯位置是巢狀迴圈最常見的錯。
對齊的部分:%2d 會讓數字至少佔兩格寬度,不足的補空白。
會照出 Python 藏了什麼
Python 靠縮排決定哪些程式碼屬於內層迴圈,改錯縮排等於改邏輯。C 靠 {},縮排完全是給人看的——你可以把整個巢狀迴圈寫成一行,編譯器不在乎。
這是把兩件事分開了:排版和歸屬。在 Python 這兩件事綁在一起,在 C 是分開的。所以 C 的程式碼可以縮排得很漂亮但邏輯完全錯,這在 Python 反而比較難發生。
(也因為這樣,C 有個經典陷阱:if 後面不加大括號,只有下一行屬於它。多寫一行看起來也在 if 裡面,其實不是。)
本機編譯
gcc main.c -o main.exe
./main.exe
需要先裝好 C 編譯器。Windows 可以用 MinGW-w64 或 w64devkit,macOS 與 Linux 通常內建或用套件管理器安裝。
寫在這裡
C 題不提供線上執行,自己在本機編譯,寫完可以請 AI 看看。
討論區
登入後就能留言和評分。
還沒有人留言。