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

如何用C++ for循环实现数字星号倒直角三角形图案反转

问题:保留for循环的前提下反转图案输出

期望输出与实际输出对比:

Desired Output:                 Actual Output:

123456                            1*****
12345*                            12****
1234**                            123***
123***                            1234**
12****                            12345*
1*****                            123456

现有代码:

#include <iostream>

using namespace std;

int main() {
    int num, row, integ;

    cout << "Please enter size: ";
    cin >> integ;

    for (row = 1; row <= integ; row++) {
        for (num = 1; num <= row; num++) {
            cout << num;
        }
        for (; num <= integ; num++) {
            cout << "*";
        }
        cout << endl;
    }
}

修改后的代码

只需调整外层for循环的遍历方向,从integ开始递减到1即可:

#include <iostream>

using namespace std;

int main() {
    int num, row, integ;

    cout << "Please enter size: ";
    cin >> integ;

    // 外层循环改为从integ递减到1
    for (row = integ; row >= 1; row--) {
        for (num = 1; num <= row; num++) {
            cout << num;
        }
        for (; num <= integ; num++) {
            cout << "*";
        }
        cout << endl;
    }
}

说明

原代码外层循环从1到integ,每行输出的数字数量逐行递增;修改后外层循环从integ到1,每行输出的数字数量逐行递减、星号数量逐行递增,完全匹配期望的输出图案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:50:38