✏️ 纠错
第 264 题 / 共 301 题
第 13 题 下面C++代码实现输出如下图形,应该在横线处填入的代码是( )。




cout << "请输入层数:";
cin >> N;
K = 1;
for (i = 1; i < N + 1; i++) {
    for (int _ = 1; _ < ________; _++)
        cout << " ";
    for (int _ = 1; _ < ________; _++) {
        cout << K;
        K += 1;
        if (K == 10)
            K = 1;
    }
    cout << '\n';
}
📝 题目解析

【答案】A

【考纲知识点】循环结构、分支结构

【解析】当i从1开始递增时,每行星号前的空格数应逐行递减,因此首空应填入N - i + 1,确保第i 行前输出 N - i + 1个空格,使图形呈右对齐的三角形排列。次空控制每行输出的数字个数,观察图形可知第i行应输出i个数字,因此第二空应填i。选项A中第一空为N - i + 1,第二空为i + 1,但实际需输出i个数字,故此处存在矛盾;重新审视发现,每行数字连续递增且从1到9循环,结合K的更新逻辑与图形行数匹配,最终确定第二空应为i,对应正确选项应为B。