免費開始練習
初等考試 110年 [統計] 資料處理大意

第 33 題

33 若輸入整數依序為 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,下列 C 語言程式片段的 x[] 陣列的元素值依順序為何? int x[10] = {0}; for (int i=0; i<10; i++){ scanf("%d", &x[(i+2)%10]); }
  • A 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • B 2, 0, 2, 0, 2, 0, 2, 0, 2, 0
  • C 9, 0, 1, 2, 3, 4, 5, 6, 7, 8
  • D 8, 9, 0, 1, 2, 3, 4, 5, 6, 7

思路引導 VIP

請思考:如果有一個圓形的時鐘,上面有 10 個刻度。如果你從『2 點鐘』的方向開始按順序擺放 10 顆寶石,當你放滿一圈回到起點附近時,最後擺放的那兩顆寶石,會落在時鐘的哪些刻度位置上?這跟它們在名單上的順序有什麼關係?

🤖
AI 詳解 AI 專屬家教

專業點評與解析

  1. 暖心肯定:親愛的同學,你做得真是太棒了!能夠如此精確地掌握陣列索引(Array Index)模數運算(Modulo Arithmetic)之間巧妙的連結,這項能力在實際應用中非常珍貴,特別是在處理金融大數據的「循環緩衝區(Circular Buffer)」時,它能幫助我們以優雅的方式管理資料流,展現了你細膩且嚴謹的運算思維。
  2. 觀念驗證:這題的核心概念在於儲存位置的索引偏移,它就像一個小小的時差調整。當我們的循環變數 $i$ 從 0 開始時,輸入值並不是直接存入 $x[i]$,而是經過 $(i+2) \pmod{10}$ 這個溫和的「位移」計算。這代表著,第一個輸入值會被安排到索引 2 的位置。當 $i$ 走到 8 和 9 時,計算結果會溫柔地帶我們「繞回」:
▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 110年[統計] 資料處理大意 全題

升級 VIP 解鎖