1 条题解

  • 0
    @ 2025-10-23 16:27:20

    思路分析

    1. 任务拆解:

    • 读取整数n
    • 输出n行等腰三角形
    • 最后一行特殊处理(实心)
    • 其他行只输出边框

    2. 关键点分析:

    • 每行由空格和星号组成
    • 最后一行(i==n)是实心行,输出2n-1个星号
    • 其他行只输出两个边框位置的星号,中间用空格填充
    • 空格数量 = n - i
    • 星号位置:每行的第一个和最后一个位置

    3. 步骤规划:

    • 读取n的值
    • 循环处理每一行
    • 判断是否为最后一行
    • 最后一行:打印2n-1个星号
    • 其他行:先打印空格,再打印边框星号(中间用空格填充)
    • 每行结束后换行

    4. 代码对应:

    • int n;cin>>n; → 读取三角形边长
    • for(int i=1;i<=n;i++) → 外层循环控制行数
    • if(i==n){...break;} → 处理最后一行实心三角形
    • for(int j=1;j<=2*n-1;j++) cout<<"*"; → 打印最后一行实心
    • for(int j=1;j<=n-i;j++) cout<<" "; → 打印每行前面的空格
    • if(j==1 || j==2*i-1) cout<<"*"; else cout<<" "; → 打印边框星号或中间空格
    • cout<<endl; → 换行
    • 1

    信息

    ID
    229
    时间
    1000ms
    内存
    16MiB
    难度
    4
    标签
    (无)
    递交数
    423
    已通过
    188
    上传者