C++代码优化:字母金字塔输出问题

以下代码片段旨在使用 C++ 生成一个字母金字塔,但输出结果与预期不符。

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin>>n;
    char ch='A';
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=i;j++) {
            cout<<ch<<endl;
            ch++;
            if (ch>'Z') {
                ch='A';
            }
        }
    }
    return 0;
}

该代码没有明显的语法错误,但在输出字符时有一个小问题。在内层循环中,应该使用cout<<ch而不是cout<<ch<<endl。这是因为endl会在每个字符后添加一个换行符,导致输出结果不符合预期。

应该将内层循环修改为:

for(int j=1;j<=i;j++) {
    cout<<ch;
    ch++;
    if (ch>'Z') {
        ch='A';
    }
}

通过以上修改,代码将能够正确地输出字母金字塔图案。

示例:

输入:5

输出:

A ABB ACC ADD EEEE

C++代码优化:字母金字塔输出问题

原文地址: https://www.cveoy.top/t/topic/qiqn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录