GESP 二级 · GESP 202503 C++ 二级 第 10 题

选择题 · 答案 B · 考点:位运算

← 整套速查表 GESP 二级 全部真题

题目

下面 C++ 代码用于求 1 到 $N$ 之间正整数中含有 3 的数的个数,比如 123 和 32 都是符合条件的数。则前后两处横线应填入代码分别是( )。

int i, j;
int cnt = 0, N;
cout << "请输入正整数N:";
cin >> N;
for (i = 1; (j = i) < N; i++)
    while (j != 0) {
        if (j % 10 == 3) {
            cnt += 1;
            ____________;
        }
        else
            ____________;
    }
cout << cnt << " ";

A.

continue
j /= 10

B.

break
j /= 10

C.

continue
j %= 10

D.

break
j %= 10
答案:B

考点

位运算 讲解 →位运算 真题汇总 →

解题思维

看到 3 就跳出当前数,否则重复计数

常见错误

误用 continue 会导致对同一个数重复计数

详细解析(节选)

考点:while 循环|break 语句|除运算

解析

B. 含 3 则 break 跳出,否则 j/=10 去尾

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断