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

陣列的元素編號從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
  1. A4
  2. B6
  3. 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. 這是與相鄰元素值相等的元素個數。此程式計算的是相鄰的組,而不是元素。
練習這個領域 前往領域頁面

相關計算工具

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

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