在 C 中将数字 5 打印为反向模式

Print the number 5 as a reverse pattern in C

C 正如您在这段代码中看到的,我正在尝试打印以下图案,代码打印图案是否正确,因为在我的计算机中它显示错误。

//To print this type of pattern
    //5 5 5 5 5 5 
    //5 5 5 5 5
    //5 5 5 5
    //5 5 5
    //5
int i, j, a=5;
for(i=0; i<=5; i++)
{
    for(j=i; j<=5; j++)
    {
        printf("%d", a);
    }
    printf("\n");
}

这里有几个错误。 首先,请记住循环中的计数从 0 开始,因此从 0 到 5 实际上是循环顶部的 6 轮。你想要的是让 i 介于 [0-4] 之间。为此,将 <= 循环条件修改为 <.

如果你想在每个 5.

之间添加 space,请在 "%d " 之后添加一个 space

用笔和纸运行试一下,j循环还有一个错误

#include <stdio.h>

int main(void) {
    int height = 5;
    char line[height*2];
    
    for(int i=0; i<height*2; i+=2)
    {
        line[i]='0'+height;
        line[i+1]=' ';
    }

    for (int i=0; i<height; ++i)
    {
        printf("%.*s\n",2*(height-i), line);
    }
    
    return 0;
}

结果

Success #stdin #stdout 0s 5532KB
5 5 5 5 5 
5 5 5 5 
5 5 5 
5 5 
5