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

C++自然数半金字塔图案程序编写求助:现有代码输出不符

修正C++半金字塔连续自然数图案代码

你的问题出在内层循环每次都从1开始输出数值,导致每行都是从1重新计数。要实现连续自然数的半金字塔,需要一个独立的计数器来追踪当前要输出的数字,而不是直接使用循环变量j。

修正后的代码:

#include <iostream>
using namespace std;
int main()
{
    int rows, i, j;
    int num = 1; // 新增计数器,追踪当前要输出的自然数
    cout << "Enter number of rows: ";
    cin >> rows;
    for(i = 1; i <= rows; i++)
    {
        for(j = 1; j <= i; j++)
        {
            cout << num << "  "; // 输出当前计数器值,用两个空格保证对齐
            num++; // 计数器自增
        }
        cout << "\n";
    }
    return 0;
}

关键改动说明:

  • 新增num变量并初始化为1,用来记录当前要输出的连续自然数。
  • 内层循环不再输出循环变量j,而是输出num,每次输出后num自增1,保证数字连续递增。
  • 输出时使用两个空格" ",让多位数(如11、12)和个位数的对齐效果更贴近预期输出。

测试输出(输入5行):

Enter number of rows: 5
1  
2  3  
4  5  6  
7  8  9  10  
11 12 13 14 15  

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:45:30