高考申論題
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 語言撰寫的排序演算法,核心邏輯為透過雙層迴圈將輸入的整數陣列進行「由小到大(遞增)」的排序。 【論述】
▼ 還有更多解析內容