Examly題庫立即開始練習
國中教甄|資訊科技資訊科技107 年第 30 題單選題

下列選項何者是執行下列程式所得的結果? #include <stdio.h> int doit (int a[], int s) { int here=0; if (s==3) { return (a[s-1]*a[s-1]); } else { here = a[s-1]*a[s-1]; return (here+doit(a,s-1)); } } void main() { int a[6] = {1, 2, 3, 4, 5, 6}; printf(“%d\n”,doit(a, 5)); }

A91
B55
C50正確答案
D25
答案與詳解
C
正確答案
程式透過遞迴計算陣列元素平方和,當 s 遞減至 3 時觸發基底條件停止遞迴,總和為 5 的平方加 4 的平方加 3 的平方,結果為 50。

逐選項解析

A91✕ 易錯陷阱
若誤以為遞迴會執行到 s=1 且包含 a[5] 的平方(36+25+16+9+4+1=91),則會錯選此項。
B55✕ 易錯陷阱
若誤以為遞迴會執行到 s=1(25+16+9+4+1=55),忽略了 s==3 時的基底條件會直接回傳而不再繼續遞迴,則會錯選此項。
C50✓ 正確
D25✕ 易錯陷阱

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly