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