程式練習題庫
← 回題目列表
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 看看。

討論區

登入後就能留言和評分。

    還沒有人留言。