1 条题解

  • 0
    @ 2025-10-23 16:03:03

    思路分析

    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
    上传者