NOIP 普及组初赛 · NOIP 2016 普及组初赛试题 第 13 题

选择题 · 答案 D · 考点:输入输出、位运算、分支结构、循环结构

← 整套速查表 NOIP 普及组初赛 全部真题

题目

有以下程序:

#include <iostream>
using namespace std;
int main()
{
    int k = 4, n = 0;
    while (n < k)
    {
        n++;
        if (n % 3 != 0)
            continue;
        k--;
    }
    cout << k << "," << n << endl;
    return 0;
}

程序运行后输出的结果是( )。

答案:D

考点

输入输出位运算 讲解 →位运算 真题汇总 →分支结构循环结构

解题思维

看到 while+continue,先记初始值,重点盯 n=3 时 k 变了后 while 条件是否还成立。

常见错误

易错:以为 continue 跳过整个循环体;或误判 n=3 时 k 未减,导致算成 2,3。

详细解析(节选)

考点:循环控制流|continue 语句作用

程序在做什么

循环中 n 每次先 +1;若 n 不是 3 的倍数则 continue(跳过 k--);否则 k--。循环终止条件是 n < k。

同考点真题

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