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

陣列的元素編號從1開始,+ 表示字串的串接。執行下列程式後 r 的值為下列何者?

字串型陣列: s ← {"S", "T", "O", "P"}
字串型: r ← ""
for (i 從 1 到 s的元素數 每次加 1)
  r ← s[i] + r
endfor
  1. APOTS
  2. BPOT
  3. CSTOP
查看答案與解析

正確答案:A. POTS

r ← s[i] + r 會把新的字元加在 r 的開頭(左側)。r 依序變為「S」「TS」「OTS」「POTS」,因此字元的順序被反轉。若寫成 r ← r + s[i],則是加在末尾,結果與原本相同為「STOP」。

  • A. 正確。字元依序加在開頭,因此得到反轉的 POTS。
  • B. 這是迴圈從2開始時的結果。第1個字元「S」也會被串接。
  • C. 這是像 r ← r + s[i] 那樣串接在末尾時的結果。
練習這個領域 前往領域頁面

相關計算工具

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

  1. 下列函式 isPal 在字串型陣列 s 的字元排列無論從前或從後讀都相同(回文)時回傳 true。陣列的元素編號從1開始。程式中的【a】應填入下列何者?
  2. ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。以 f(9087) 呼叫下列函式 f 時,回傳值為下列何者?
  3. ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。以 toBin(12) 呼叫下列函式 toBin 時,回傳值為下列何者?
  4. 下列程式以減法使兩個整數 a、b 逐漸相等。執行後 k 的值為下列何者?
  5. 下列函式 isLeap 在西元 y 年為閏年時回傳 true。and 比 or 先計算。isLeap(y) 回傳 true 的 y 為下列何者?