Examly題庫立即開始練習
國中教甄|資訊科技資訊科技104 年第 37 題單選題

int i, j, temp, a[10]={1,2,3,4,9,8,7,6,5}; for(i = 0; i < 10; i++) for(j = i; j < 10; j++) if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i = 0; i < 10; i++) printf("%d ",a[i]); 以上程式碼的輸出為何?

A9876543210
B0123456789正確答案
C123498765
D以上皆非
答案與詳解
B
正確答案
程式碼實作選擇排序法將陣列由小到大排序,且部分初始化時未賦值的第10個元素自動設為0,故輸出0到9。

逐選項解析

A9876543210✕ 錯誤
這是降冪(由大到小)排序的結果,但程式碼的交換邏輯是將較小的值往前移,屬於升冪排序。
B0123456789✓ 正確
程式碼為升冪排序,且第10個元素因部分初始化而自動設為0,排序後結果即為0至9。
C123498765✕ 易錯陷阱
D以上皆非✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

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

Examly