You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C++打印指定格式数字三角形 现有代码输出不符合需求

修改方案

以下是调整后的可运行代码:

#include <iostream>
using namespace std;

int main() {
    // 外层循环控制行数,共10行
    for (int line = 1; line <= 10; line++) {
        // 计算当前行的起始数字
        int start = (line - 1) * 10 + 1;
        // 内层循环控制当前行输出的数字个数,第line行输出line个
        for (int cnt = 0; cnt < line; cnt++) {
            int num = start + cnt;
            // 补零输出逻辑沿用原有逻辑
            if (num < 10) {
                cout << "00" << num << " ";
            } else if (num < 100) {
                cout << "0" << num << " ";
            } else {
                cout << num << " ";
            }
        }
        // 每行输出完所有数字后换行
        cout << endl;
    }
    return 0;
}

核心改动说明

  • 原有单循环遍历1~100、每满10个换行的逻辑和需求不匹配,改为双层循环:外层控制行数,内层控制每行输出的数字数量
  • 新增行首数字计算规则:第N行的第一个数字为(N-1)*10 +1,匹配预期输出的首数字规律
  • 移除原有i%10==0的换行判断,改为每行输出完指定数量的数字后统一换行

如果想要简化补零逻辑,也可以用格式化输出简化代码:

#include <cstdio>

int main() {
    for (int line = 1; line <= 10; line++) {
        int start = (line - 1) * 10 + 1;
        for (int cnt = 0; cnt < line; cnt++) {
            printf("%03d ", start + cnt);
        }
        printf("\n");
    }
    return 0;
}

内容的提问来源于stack exchange,提问作者Apichart Chaiyasat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:18:03