-5

我需要创建一个像这样的三角形

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

我已经做到了。但我的三角形看起来不是这样的:

#include <stdio.h>

int main()
{
    int  k, l;

    for(k=1; k<=5; k++)
    {
        for(l=k; l<=5; l++)
            printf(" ");

        for(l=0; l<=k-1; l++) printf("*");
        printf("\n");
    }
    return 0;
}

你能告诉我我的错误在哪里吗?

4

2 回答 2

3

您不需要 3 个循环 - 这是不必要的:

int  k, l;
for(k=1; k<=5; k++)  // outer loop
{
    for(l=0; l<k; l++) // inner loop
        printf("*");
    printf("\n");

}

这个想法很简单,只要l小于,就在内循环中保持打印星星k。因此,随着行数增加(由 跟踪k),星数也会增加。您的固定代码:

for(k=1; k<=5; k++)
    {
        for(l=0; l<=k-1; l++) printf("*");
        printf("\n");
    }
于 2013-10-04T11:47:16.473 回答
0

只需删除循环打印空间。其余代码似乎很好

于 2013-10-04T11:52:49.523 回答