LONGEPASS
Q46.

有一仿C 程式如下,當執行完 a=2,b=3 迴圈時,下述何者正確?電腦軟體設計共同科目 乙級 第 46 題 題目 圖片

電腦軟體設計共同科目 · 乙級 · 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 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目