1 条题解
-
0
思路分析
1. 任务拆解:
- 读取整数n
- 输出n行等腰三角形
- 最后一行特殊处理(实心)
- 其他行只输出边框
2. 关键点分析:
- 每行由空格和星号组成
- 最后一行(i==n)是实心行,输出2n-1个星号
- 其他行只输出两个边框位置的星号,中间用空格填充
- 空格数量 = n - i
- 星号位置:每行的第一个和最后一个位置
3. 步骤规划:
- 读取n的值
- 循环处理每一行
- 判断是否为最后一行
- 最后一行:打印2n-1个星号
- 其他行:先打印空格,再打印边框星号(中间用空格填充)
- 每行结束后换行
4. 代码对应:
int n;cin>>n;→ 读取三角形边长for(int i=1;i<=n;i++)→ 外层循环控制行数if(i==n){...break;}→ 处理最后一行实心三角形for(int j=1;j<=2*n-1;j++) cout<<"*";→ 打印最后一行实心for(int j=1;j<=n-i;j++) cout<<" ";→ 打印每行前面的空格if(j==1 || j==2*i-1) cout<<"*"; else cout<<" ";→ 打印边框星号或中间空格cout<<endl;→ 换行
- 1
信息
- ID
- 229
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 423
- 已通过
- 188
- 上传者