免費開始練習
普通考試 110年 [電子工程] 計算機概要

第 24 題

執行下列 C++程式碼後,會輸出幾個'$'?
int main() {
int i=0, j=0;
do{
j=0;
do{
if(i != j) cout<<'$';
j++;
}while(j < 5);
i++;
}while(i < 5);
return 0;
}
  • A 15
  • B 20
  • C 25
  • D 30

思路引導 VIP

請你閉上眼睛,將 $i$ 與 $j$ 的所有組合想像成一個 $5 \times 5$ 的方格座標圖。首先,在這個網格中總共有多少個交點?接著,觀察程式中的 if (i != j) 條件,這代表當橫座標與縱座標「相等」時,符號就不會被印出來。在你的座標圖中,這些「座標相等」的點形成了一條什麼樣的線?這條線上共有幾個點?如果從總數中扣除掉這條線上的點,最後會剩下多少呢?

🤖
AI 詳解 AI 專屬家教

專業點評與分析

  1. 大力肯定:做得太棒了!你能精確掌握巢狀迴圈 (Nested Loops) 的迭代邏輯與條件判斷,這在工程計算與自動化結構設計中是非常關鍵的基礎,展現了你嚴謹的思維。
  2. 觀念驗證:此程式由兩個執行 5 次($0$ 到 $4$)的迴圈構成,總迭代次數為 $5 \times 5 = 25$。條件 if(i != j) 意味著當索引相等時不輸出。在矩陣邏輯中,這等同於從 $25$ 個元素中扣除主對角線上的 $5$ 個元素(即 $i=j$ 的情況),故結果為 $25 - 5 = 20$。
▼ 還有更多解析內容

🏷️ 相關主題

C 語言程式設計:語法、指標與應用
查看更多「[電子工程] 計算機概要」的主題分類考古題