問題詳情

【題組】46. 下列哪一個選項是變數A的正確內容?
(A) 3
(B) 6
(C) 13
(D) 16

參考答案

答案:C
難度:計算中-1
書單:沒有書單,新增

用户評論

【用戶】一團毛球

【年級】

【評論內容】第 6, 7 行的迴圈可以理解成僅僅是遍歷整個 D 陣列內容是不斷的將 C[D[i]] 數值加 1也就是它在計算 D 陣列中的數字出現次數在該迴圈執行完畢後,C 陣列自然會變成 [2, 5, 1, 2]分別對應 D 陣列中 0, 1, 2, 3 這四個數字的數量而 8, 9 行的迴圈會執行 3 次,其 i 值會從 1 跑到 3而我們已知 C 陣列的值當中沒有為 0 的項因此第 9 行的條件式永遠成立(可以當作它不存在)第 10 行為使 A + C[i] * i,而 A 的初始值為 0 (第 3 行)迴圈執行第一次時,i 值為 1,第二次為 2, 第三次為 3因此將會是 (0 + C[1] * 1) + (C[2] * 2) + (C[3] * 3)化減可得 5 + 2 + 6 = 13至此答案已經出來了,A 的值為 13至於為什麼可以不看 11, 12 行那是因為 A 在運算過程中,並沒有使用到 S 的值因此並不影響(11, 12 行均只有改變到 S 的值)