【C语言】牛客网 BC64 K形图案详解

这道题很坑

【C语言】牛客网 BC64 K形图案详解_第1张图片

当时被支配了很久...

一开始我是这样解的:

#include
int main()
{
    int k = 0;
    while (scanf("%d", &k) != EOF)
    {
        //上方
        int i = 0;
        for (i = 0; i < k + 1; i++)
        {
            int j = 0;
            for (j = k + 1 - i; j > 0; j--)
            {
                printf("* ");
            }
            printf("\n");
        }
        //下方
        for (i = 1; i < k + 1; i++)
        {
            int j = 0;
            for (j = k - i; j < k + 1; j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

然后牛客网上编译失败...

转到VS2022尝试了以下,自己感觉没毛病啊~

【C语言】牛客网 BC64 K形图案详解_第2张图片

但当我将

 【C语言】牛客网 BC64 K形图案详解_第3张图片

这个输出复制出来时...才发现,图形的这些位置还要打印空格...

上代码!

#include 

int main()
{
    int n = 0;
    //如果输入的是n,其实每行打印n+1组字符(*和空格)
    while(scanf("%d", &n) != EOF)
   {
        int i = 0;
        for(i=n; i>=0;i--)
       {
            int j = 0;
            for(j=0; j<=i; j++)
           {
                printf("* ");
           }
            //*的后面还有空格
            for(j=i; j

你可能感兴趣的:(初学,经验分享)