学习C 也有一段时间了,今天做个比较难的练习
练习
star.PNG思路
1.分析一下,可以把这个图形拆成2个部分,一个正三角形,还有一个倒三角形。
2.可以先把要空出来的部分用别的符号代替
0005
00555
055555
3.应该先打印
5
555
5555
55555
再打印下面的这个形状
0005
00555
055555
4.我们再简化一下问题,可以先打印
555555
555555
555555
555555
5.根据步骤4得知,打印星星的关键在于
- 行数
一共需要打几行 - 列数
每行要打几颗星星
int main()
{
int i, j, k, l ;//两个图形需要两个循环
//内外两个循环,内循环和外循环
for(i = 0; i < 5; i++)//需要打印的行数
{
for(j = 0;j <= 3-i;j++)//需要打印空格的数量
{
printf(" ");
}
for(j = 0; j <= i * 2; j++)//打印星星的数量
{
printf("*");
}
printf("\n");
}
for(k = 0;k < 4;k++)
{
for(l = 0;l <= k; l++)
{
printf(" ");
}
for(l = 0;l <= 6 - k * 2;l++)
{
printf("*");
}
printf("\n");
}
return 0;
}
网友评论