思路就是一行一行地打印,然后数清楚每一行要输出几个空格,还有数字。
假设n是输入,也代表总行数;假设row是行号,取值为[1, n]
总结三角形每一行的规律----对于每一行,输出分三大步:
输出n - row个空格
输出 1 ~ row
输出 row-1 ~ 1
所以代码如下:
#include <iostream>
using namespace std;
int main() {
int n;
cout<<"输入n: ";
cin>>n;
// 对于每一行
for(int row=1; row<=n; ++row) {
// 1. 输出 n - row 个空格
int spaceCount = n - row;
for(int i=1; i<=spaceCount; ++i) {
cout<<" ";
}
// 2. 输出 1 ~ row
for(int i=1; i<=row; ++i) {
cout<<i;
}
// 3. 输出 row-1 ~ 1
for(int i=row-1; i>=1; --i) {
cout<<i;
}
cout<<endl;
}
return 0;
}
不知道为什么不能格式化代码,请原谅
2023-06-12 广告