Examly題庫立即開始練習
國家安全情報人員考試五等考試-資訊組計算機大意11425單選題

請問下列的程式執行結束後,陣列 grade 的內容為何? int grade[4] = {80, 70, 60, 50}; int main (void) { int i, j, temp; for (i = 2; i >= 0; i--) for (j = 0; j <= i; j++) { if (grade[j] > grade[j+1]); { temp = grade[j]; grade[j] = grade[j+1]; grade[j+1] = temp; } } return 0; }

Agrade[4] = {50, 60, 70, 80}正確答案
Bgrade[4] = {80, 70, 60, 50}
Cgrade[4] = {50, 70, 60, 80}
Dgrade[4] = {50, 60, 80, 70}
答案與詳解
A
正確答案
if 後多了分號使條件失效,swap 區塊變成無條件執行,等同純氣泡排序由大到小推到尾端,結果仍是升序排列。

為什麼答案是 A

因 if 後的分號讓判斷失效,{} 內 swap 每次都執行。i=2 時三次 swap 把最大值 80 推到最後;i=1 把次大推到 index 2;i=0 再推一次。最終陣列為 {50,60,70,80}。

考點:冒泡排序升序考點:忽略分號陷阱考點:排除考點:追蹤失誤
載入中…

計算機大意 相關題目

想練更多計算機大意考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮