1 条题解

  • 0
    @ 2025-10-23 16:25:08

    思路分析

    1. 任务拆解:

    • 读取奇数n
    • 将图形分为上下两部分
    • 上半部分:星号递减的三角形
    • 下半部分:星号递增的三角形

    2. 关键点分析:

    • 计算中间行位置:nn = n/2 + 1
    • 上半部分:从最大行递减到第2行,星号数量递减
    • 下半部分:从第1行递增到最大行,星号数量递增
    • 每行星号数量等于当前行号

    3. 步骤规划:

    • 读取奇数n并计算中间行nn
    • 打印上半部分(星号递减)
    • 打印下半部分(星号递增)
    • 每行打印相应数量的星号后换行

    4. 代码对应:

    • int n,nn;cin>>n; nn=n/2+1; → 读取n并计算中间行
    • for(int i=nn;i>=2;i--) → 上半部分递减循环
    • for(int j=1;j<=i;j++) → 打印递减数量的星号
    • for(int i=1;i<=nn;i++) → 下半部分递增循环
    • for(int j=1;j<=i;j++) → 打印递增数量的星号
    • cout<<endl; → 每行结束后换行
    • 1

    信息

    ID
    233
    时间
    1000ms
    内存
    16MiB
    难度
    2
    标签
    (无)
    递交数
    302
    已通过
    192
    上传者