使用星形图案显示倒置的半金字塔

问题描述 投票:0回答:2

我想使用由“ *”字符组成的图案显示倒置的半金字塔。运行我的代码后,输出似乎为空。我想知道是什么问题。

这是所需的输出:

*****
****
***
**
*

这是我的代码:

for (int i=1;i<=5 ;i++)
{
    for(int x=5;x<=1;x--)
    {
        printf("* ");
    }
    printf ("\n");
}
c
2个回答
0
投票

仅更改金字塔大小的通用解决方案

for (int nb = 5; nb > 0; nb--) {
    for(int i = 0; i < nb; i++) {
        printf("* ");
    }
    printf ("\n");
}

0
投票

您的代码中有两个错误。第一个在这里:

for(int x=5;x<=1;x--)

您应检查x是否等于或大于1,而不是相反,因为在这种情况下,循环将一直运行。

但是,输出将是正方形,而不是矩形。这是因为x的起始值或结束值均不变。最后,如果希望得到与发布的结果相同的结果,则可能希望删除printf()中的空间。

所以这是最终的,更正的代码:

for(int i=1;i<=5 ;i++)
{
    for(int x=5;x>=i;x--)
    {
        printf("*");
    }
    printf ("\n");
}

运行它会产生正确的输出。希望对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.