程式設計基礎(虛擬碼追蹤)

陣列的元素編號從1開始。執行下列程式後,陣列 a 的內容為下列何者?

整數型陣列: a ← {5, 1, 4, 2, 3}
整數型: t ← a[1]
for (i 從 1 到 4 每次加 1)
  a[i] ← a[i + 1]
endfor
a[5] ← t
  1. A{1, 4, 2, 3, 5}
  2. B{1, 4, 2, 3, 3}
  3. C{3, 5, 1, 4, 2}
查看答案與解析

正確答案:A. {1, 4, 2, 3, 5}

先把開頭的值5暫存到 t,再以 a[i] ← a[i + 1] 把各元素逐一往前移。i 由小往大前進,因此各值在被覆寫前依序往前移,成為 {1, 4, 2, 3, 3}。最後以 a[5] ← t 在末尾放入5,成為 {1, 4, 2, 3, 5}。這是把整體向左旋轉一個位置的處理。

  • A. 正確。開頭的5移到末尾,其餘往前移。
  • B. 這是沒有執行最後的 a[5] ← t 時的內容。
  • C. 這是向右旋轉一個位置的內容。此處理是把元素往前移。
練習這個領域 前往領域頁面

相關計算工具

程式設計基礎(虛擬碼追蹤)的其他題目

  1. 陣列的元素編號從1開始。下列程式比較相鄰的元素。執行後 c 的值為下列何者?
  2. m[i, j] 表示二維陣列 m 第 i 列第 j 行的元素,元素編號從1開始。執行下列程式後 s 的值為下列何者?
  3. 以下列程式將4列5行的二維陣列 m 的元素移到元素數為20的陣列 b。m[i, j] 表示第 i 列第 j 行的元素,元素編號從1開始。m[3, 2] 會被指派到 b 的哪一個元素編號?
  4. 陣列的元素編號從1開始,+ 表示字串的串接。執行下列程式後 r 的值為下列何者?
  5. 下列函式 isPal 在字串型陣列 s 的字元排列無論從前或從後讀都相同(回文)時回傳 true。陣列的元素編號從1開始。程式中的【a】應填入下列何者?