4 条题解

  • 0
    @ 2025-9-18 1:17:56
    #include<stdio.h>
    int main()
    {
        char n;
        scanf("%c",&n);
        for(int i=1;i<=3;i++)
        {
            for(int j=1;j<=5;j++)
            {
                if (abs(j-3)<=i-1)//j-3是距离中心的距离,
                //第一行,i=1时,只有j等于三才打印
                //第二行,i,j=2,3,4,才打印
                //第三行,i=3,j=1,2,3,4,5
                //拿第二行距离,j=2,4,距离中心距离为1,才能在i=2时打印
                //所以曼哈顿距离加一等于i时才打印(此时为打印的极限边)
                //或说成曼哈顿距离等于i-1为打印的极限
               { printf("%c",n);}
               else {printf(" ");}//横行处理完毕
            }
            printf("\n");
        }
        return 0;
    }    
    

    信息

    ID
    87
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    1083
    已通过
    561
    上传者