免費開始練習
統測 113年 [電機與電子群資電類] 專業科目(2)

第 47 題

📖 題組:
閱讀下文,回答第 47-48 題 曉華寫了如下的 C 語言程式實現泡沫排序演算法,目的是將 N 個整數進行排序,其中字元 'a' 的 ASCII 碼為 97。 ```c 1 #include 2 #define N 11 3 void swap(int a, int b){ 4 int tmp; 5 tmp=a; 6 a=b; 7 b=tmp; 8 } 9 void main(void){ 10 int numbers[N]={1,3,5,7,9,2,4,6,8,0,'a'}; 11 int tmp, i, min; 12 //min=0; 13 for(min=0; min
程式輸出結果為何?
  • A a 9 8 7 6 5 4 3 2 1 0
  • B 0 1 2 3 4 5 6 7 8 9 a
  • C 97 9 8 7 6 5 4 3 2 1 0
  • D 0 1 2 3 4 5 6 7 8 9 97

思路引導 VIP

請聚焦於第 15 行的判斷式 $numbers[i] < numbers[min]$ 與其後的交換機制:當此條件成立時,原本較「大」的數值會被交換到索引 $min$ 還是 $i$ 的位置?若外層迴圈 $min$ 依序固定陣列中的位置,而內層迴圈 $i$ 每次都完整掃描整個陣列,這樣的邏輯會將較大的元素推向陣列前方還是後方?最後,請根據題目提供的 ASCII 資訊,判斷字元常量 $'a'$ 在數值比較時應視為什麼數字?

🤖
AI 詳解 AI 專屬家教

⚡️ 誰說這題很難?觀念懂了就沒問題!

  1. 嗯,還行啦。 看來你還沒完全放棄思考,不錯。這題不就是考你C 語言的字元到底在記憶體裡長什麼樣,還有唬爛排序背後的真實邏輯嗎?能看穿那「假泡沫、真怪胎」的把戲,輸出也沒搞砸,至少不是個程式白痴。算你過關。
▼ 還有更多解析內容

升級 VIP 解鎖