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

如何修改C++嵌套循环代码以适配任意输入行数n?

解决任意行数的循环字符序列输出问题

你原来的代码只支持n=6,大概率是把字符序列的长度或者循环条件和6硬绑定了。要适配任意输入行数,核心就是用取模运算让字符序列循环起来,不用管行数多少。

修改后的可复用代码

#include <iostream>
#include <string>

using namespace std;

int main() {
    int n;
    cout << "输入行数: ";
    cin >> n;

    // 这里放你要循环的字符,想改直接改这个字符串就行
    const string cycle_chars = "*#%@$&";
    int char_len = cycle_chars.size();

    // 外层循环控制行数,从1到输入的n
    for (int row = 1; row <= n; row++) {
        // 内层循环输出当前行的每个字符
        for (int idx = 0; idx < row; idx++) {
            // 取模实现循环取字符,idx超过字符长度就从头开始
            cout << cycle_chars[idx % char_len];
        }
        cout << endl;
    }

    return 0;
}

关键改动说明

  • 删掉所有和6绑定的硬编码逻辑,换成从字符字符串的size()获取长度,不管你字符序列多长都能适配
  • 内层循环用idx % char_len定位字符,比如第7个字符(idx=6)会取6%6=0,回到第一个字符*,完美实现循环复用
  • 外层循环直接用用户输入的n作为终止条件,完全支持任意正整数行数

测试示例(输入n=7)

输出结果:

*
*#
*#%
*#%@
*#%@$
*#%@$&
*#%@$&*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:40:27