1 条题解
-
0
思路分析
1. 任务拆解:
- 读取总行数(奇数)
- 将图形分为上下两部分
- 上半部分:倒三角形,行数递减
- 下半部分:正三角形,行数递增
- 每行由空格和星号组成
2. 关键点分析:
- 将总行数n转换为上半部分行数:n = n/2 + 1
- 上半部分:从最大行递减到第2行
- 下半部分:从第1行递增到最大行
- 每行的空格数量 = 总行数 - 当前行号
- 每行的星号数量 = 2*i - 1
3. 步骤规划:
- 读取整数n并计算上半部分行数
- 打印上半部分(倒三角形)
- 打印下半部分(正三角形)
- 每行先打印空格再打印星号
4. 代码对应:
int n;cin>>n; n=n/2+1;→ 读取行数并计算上半部分行数- 第一个
for(int i=n;i>=2;i--)→ 上半部分倒三角形 for(int j=1;j<=n-i;j++)→ 打印每行前面的空格for(int j=1;j<=2*i-1;j++)→ 打印每行的星号- 第二个
for(int i=1;i<=n;i++)→ 下半部分正三角形 cout<<endl;→ 每行结束后换行
- 1
信息
- ID
- 74
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 492
- 已通过
- 255
- 上传者