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

C++倒三角输出错误求助:期望与实际输出不符

问题分析与修正方案

你写的代码有几个关键问题,导致输出没有按预期呈现每行递减的倒三角,而是所有星号挤在一行:

错误点拆解

  • 外层循环逻辑错误:你写的for (row = size; row <= size; row--) 条件逻辑混乱。初始row等于size,第一次循环后row减1变成size-1,此时row <= size依然成立,循环会持续到row变为负数才触发break。正确的写法应该直接让循环从size递减到1,既直观又避免多余判断。
  • 内层循环星号数量控制错误:内层循环用column <= size会导致每行都输出size个星号,无法实现递减效果。应该改成column <= row,让每行的星号数量等于当前的row值。
  • 缺少换行操作:每行星号输出完成后没有添加换行,所以所有内容都挤在了同一行。

修正后的代码

#include<iostream>
using namespace std;

int main (void) {
    int row, column, size;
    cout << "Please enter the size: ";
    cin >> size;
    
    // 外层循环:从输入的size值递减到1,控制总共有多少行
    for (row = size; row >= 1; row--) {
        // 内层循环:输出当前行对应的row个星号
        for (column = 1; column <= row; column++) {
            cout << "*";
        }
        // 每行星号输出完毕后换行,实现倒三角的分行效果
        cout << endl;
    }
    
    return 0;
}

效果演示

当输入9时,输出会是:

*********
********
*******
******
*****
****
***
**
*

这样就完全符合你想要的倒三角格式啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:55:57