我想使用由“ *”字符组成的图案显示倒置的半金字塔。运行我的代码后,输出似乎为空。我想知道是什么问题。
这是所需的输出:
*****
****
***
**
*
这是我的代码:
for (int i=1;i<=5 ;i++)
{
for(int x=5;x<=1;x--)
{
printf("* ");
}
printf ("\n");
}
仅更改金字塔大小的通用解决方案
for (int nb = 5; nb > 0; nb--) {
for(int i = 0; i < nb; i++) {
printf("* ");
}
printf ("\n");
}
您的代码中有两个错误。第一个在这里:
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");
}
运行它会产生正确的输出。希望对您有所帮助。