读程序练习一
约 10 分钟
按题意手动跟踪:i 从 1 到 5,偶数就 continue 跳过,奇数把 i 加到 s。
int s = 0;
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) continue; // 2、4 被跳过
s += i; // 只累加 1、3、5
}
cout << s; // 输出 9
逐轮画变量表最稳:
| i | 偶数? | 动作 | s |
|---|---|---|---|
| 1 | 否 | s+=1 | 1 |
| 2 | 是 | 跳过 | 1 |
| 3 | 否 | s+=3 | 4 |
| 4 | 是 | 跳过 | 4 |
| 5 | 否 | s+=5 | 9 |
所以 。坑:continue 跳过的是 s += i,不是跳过 i++(步进在 for 括号里照常执行),所以不会死循环。这类"跟踪题"别心算,老老实实列表,尤其盯住 continue/break 改变了哪几轮。看清楚循环从 1 到 5 是闭区间(i <= 5 含 5),别少算最后一次。
小纸条
动手画变量表算一算。
登录 后可看答案