免費開始練習
高考申論題 106年 [工業行政] 計算機概論

第 三 題

三、詳細說明下列程式之目的,包含使用的演算法、輸入、輸出、資料結構、函數、程式執行步驟。若輸入為:8 3 9 4 2 7 6,詳細列出程式執行的過程。(20 分) 01 #include 02 main() 03 { 04 int i, j, t, a[8]; 05 for (i = 1; i < 8; i++) 06 scanf("%d", &a[i]); 07 for (i = 1; i <= 6; i++) 08 for (j = i + 1; j <= 7; j++) 09 if (a[i] > a[j]) 10 { 11 t = a[i]; 12 a[i] = a[j]; 13 a[j] = t; 14 } 15 for (i = 1; i <= 7; i++) 16 printf("%5d", a[i]); 17 }
📝 此題為申論題

思路引導 VIP

遇到程式碼追蹤題,應先辨識雙層迴圈的結構特徵。此題外層控制基準點,內層進行比較與即時交換,屬於『交換排序法(Exchange Sort)』。解題時需依序拆解程式要素,並耐心寫出每一回合(i值)外層迴圈執行時內部發生的交換動作與陣列狀態變化。

🤖
AI 詳解 AI 專屬家教

【破題】 本程式為一段 C 語言撰寫的排序演算法,核心邏輯為透過雙層迴圈將輸入的整數陣列進行「由小到大(遞增)」的排序。 【論述】

▼ 還有更多解析內容

升級 VIP 解鎖