程式設計基礎(虛擬碼追蹤)
陣列的元素編號從1開始。下列程式比較相鄰的元素。執行後 c 的值為下列何者?
整數型陣列: a ← {2, 2, 3, 3, 3, 1, 1}
整數型: c ← 0
for (i 從 1 到 a的元素數 − 1 每次加 1)
if (a[i] = a[i + 1])
c ← c + 1
endif
endfor
- A4
- B6
- C7
查看答案與解析
正確答案:A. 4
此程式計算相鄰兩元素相等的組數。i 從1跑到6,a[1] 與 a[2]、a[3] 與 a[4]、a[4] 與 a[5]、a[6] 與 a[7] 這4組相等,因此 c = 4。比較共進行 7 − 1 = 6 次。終值設為元素數 − 1,是為了讓 a[i + 1] 不超出陣列的範圍。
- A. 正確。相等的組為 (2, 2)、(3, 3)、(3, 3)、(1, 1) 這4組。
- B. 這是比較的次數。只有相等的組才會讓 c 增加。
- C. 這是與相鄰元素值相等的元素個數。此程式計算的是相鄰的組,而不是元素。