1 条题解
-
0
思路分析
1. 任务拆解:
- 读取整数n
- 输出n行对称数字金字塔
- 每行由空格和对称数字序列组成
- 处理超过9的数字转换为字母
2. 关键点分析:
- 每行的空格数量 = n - i
- 每行数字序列分为两部分:递增序列(1到i)和递减序列(i-1到1)
- 数字超过9时用字母表示(10→A,11→B,...)
- 使用ASCII码转换:'A'的ASCII码是65
3. 步骤规划:
- 读取n的值
- 外层循环控制打印n行
- 内层第一个循环打印左侧空格
- 内层第二个循环打印递增数字序列(处理数字转字母)
- 内层第三个循环打印递减数字序列(处理数字转字母)
- 每行结束后换行
4. 代码对应:
int n;cin>>n;→ 读取整数nfor(int i=1;i<=n;i++)→ 外层循环控制行数for(int j=1;j<=n-i;j++)→ 打印每行前面的空格- 第一个内层循环
for(int j=1;j<=i;j++)→ 打印递增序列 if(j>9) cout<<char(64+(j-9))→ 数字转字母(10→A)else cout<<j→ 输出1-9的数字- 第二个内层循环
for(int j=i-1;j>=1;j--)→ 打印递减序列 cout<<endl;→ 换行到下一行
- 1
信息
- ID
- 1314
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 333
- 已通过
- 134
- 上传者