我需要像这样创建一个三角形
*
**
***
****
*****
我做到了这一点。但我的三角形看起来不像这样:
#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;
}
你会告诉我我的错误在哪里吗?
答案 0 :(得分: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");
}
答案 1 :(得分:0)
只需删除循环打印空间即可。其余的代码似乎很好