搞一下题2019.6.22
1.在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
分析
首先得确定输出的图案有没有规律,很明显看出来是有的,第一行输出一个 * 第二行输出3个 *
这是一个有规律的输出(*)我们来分为上下部分来分析
上半部分
*
***
*****
*******
*********
***********
*************
正三角每一行比上一行多2个* 相当于一个奇数输出1 3 5 7 9 …
可以看出上半部分有7行我们用i控制行,一共有 2*i+1 列我们用j控制列
第i行 | 第i行的*数 |
---|---|
0 | 1 |
1 | 3 |
… | … |
i | 2*i+1 |
核心代码如下:
for (int i = 0; i < 7; i++)
{
for (int j = 0; j< 2*i+1; j++)
{
printf("*");
}
printf("\n");
}
第一个for循环 循环行数,第二个for循环循环列数,在第二个for循环里面输出图案即可!
切记在每一列循环(内循环后)后要加换行 ,否则就输出成一条线;
下半部分
***********
*********
*******
*****
***
*
同分析上半部分一样,倒三角每一行比上一行少2个* 相当于一个倒奇数输出…9 5 7 3 1
可以看出下半部分有6行我们用i控制行,一共有 11-2*i 列我们用j控制列
第i行 | 第i行的*数 |
---|---|
0 | 11 |
1 | 9 |
… | … |
i | 11-2*i |
核心代码如下:
for (int i = 0; i <= 6; i++)
{
for (int j = 0; j < 11-2*i; j++)
{
printf("*");
}
printf("\n");
}
切记在每一列循环(内循环后)后要加换行 ,否则就输出成一条线;