Q46.
有一仿C 程式如下,當執行完 a=2,b=3 迴圈時,下述何者正確?
電腦軟體設計共同科目 · 乙級 · Q46
難易度分析
3 / 5
本題要求對特定排序演算法的執行流程進行精確的追蹤模擬,需區分數值儲存與索引紀錄兩種不同的變數用途,且必須完整分析內層迴圈的比較過程才能得出結果。
正確答案:①t=1
① t=1:此程式為選擇排序法(Selection Sort)的實作。當 a=2 時,t 初始為 item[2]='3',內層迴圈比較 item[3]='1' 與 item[4]='9',因 '1'<'3',故 t 更新為 '1',迴圈結束後 t='1'。
錯誤選項解析
- ② c=1:變數 c 記錄最小值的索引位置。當 a=2 時,因 item[3]='1' 為最小值,c 被更新為 3,故 c=3 而非 c=1。
- ③ t=3:t 用於暫存目前找到的最小值。a=2 時,item[2]='3',但內層迴圈發現 item[3]='1' 更小,t 會被更新為 '1',故 t='1' 而非 t='3'。
- ④ c=2:c 記錄最小值的索引。a=2 時,最小值 '1' 位於索引 3,故 c=3 而非 c=2。
Learning Tip
"此題考選擇排序法的執行流程。關鍵在於理解 t 儲存最小值、c 儲存最小值的索引,且每次外層迴圈結束時,t 與 c 反映的是該輪比較後的結果。常考陷阱是混淆 t(值)與 c(索引)的意義,以及未正確追蹤內層迴圈的比較過程。"
學員答題分佈
①t=10%
②c=10%
③t=30%
④c=20%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!