1 条题解

  • 0
    @ 2025-10-23 16:42:40

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 将图形分为上下两部分
    • 上半部分:递增的数字金字塔
    • 下半部分:递减的数字金字塔

    2. 关键点分析:

    • 上半部分每行由三部分组成:空格、递增数字、递减数字
    • 下半部分每行也由三部分组成:空格、递增数字、递减数字
    • 数字序列呈回文形式(如:12321)
    • 注意上下两部分的行数关系

    3. 步骤规划:

    • 读取n的值
    • 打印上半部分(从1到n行)
      • 打印左侧空格
      • 打印递增数字序列(1到i)
      • 打印递减数字序列(i-1到1)
    • 打印下半部分(从1到n-1行)
      • 打印左侧空格
      • 打印递增数字序列(1到n-i)
      • 打印递减数字序列(n-i-1到1)

    4. 代码对应:

    • int n;cin>>n; → 读取整数n
    • 第一个for(int i=1;i<=n;i++) → 上半部分循环
    • for(int j=1;j<=n-i;j++) → 打印上半部分空格
    • for(int j=1;j<=i;j++) → 打印上半部分递增数字
    • for(int j=i-1;j>=1;j--) → 打印上半部分递减数字
    • 第二个for(int i=1;i<=n-1;i++) → 下半部分循环
    • for(int j=1;j<=i;j++) → 打印下半部分空格
    • for(int j=1;j<=n-i;j++) → 打印下半部分递增数字
    • for(int j=n-i-1;j>=1;j--) → 打印下半部分递减数字
    • cout<<endl; → 每行结束后换行
    • 1

    信息

    ID
    1619
    时间
    1000ms
    内存
    32MiB
    难度
    2
    标签
    (无)
    递交数
    237
    已通过
    144
    上传者