免費開始練習
地特三等申論題 110年 [資訊處理] 程式設計

第 一 題

一、請問下列程式碼之輸出結果為何?(25 分) #include #include int function(int n) { if (n < 10) return n; int sum = 0; while (n > 0) { sum += n % 10; n /= 10; } return function(sum); } int main() { int n = 12345; int output; output = function(n); printf("output%d\n", output); return 0; }
📝 此題為申論題

思路引導 VIP

看到此題,應先辨識出這是一個計算數字『數位根(Digital Root)』的遞迴程式。解題時請採用逐步追蹤法 (Trace Code),記錄每次遞迴呼叫時各個位數相加的結果,並特別注意最後 printf 函式內的格式字串「output%d」中間並無空格。

🤖
AI 詳解 AI 專屬家教

【解題思路】逐步追蹤遞迴函式(Trace Code),觀察變數 n 與 sum 於每次迴圈與遞迴的變化。 【詳解】 已知初始條件:

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 110年[資訊處理] 程式設計 全題

升級 VIP 解鎖