c语言循环输出图案*方法 笨人必看

搞一下题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("
");
	}

第一个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("
");
	}

切记在每一列循环(内循环后)后要加换行 ,否则就输出成一条线;


经验分享 程序员 微信小程序 职场和发展