C++代码优化:字母金字塔输出问题
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
原文地址: https://www.cveoy.top/t/topic/qiqn 著作权归作者所有。请勿转载和采集!