C语言实现星星塔问题——用C语言在屏幕上输出以下图案

 星星塔问题:打印出如下图形

 

 方法1:直接利用printf输入空格和*,打印出星星塔,这里不做讲解。

方法2:利用循环打印出星星塔。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int i = 0;//i用来控制每一行中空格和星号的打印个数
	int j = 0;//j用来控制打印行数
	int a = 6;//a用来控制上半部分每一行打印的空格个数
	int b = 1;//b用来控制下半部分每一行打印的空格个数
	//先打印每一行的空格.
	//再打印每一行的星号.
	for (j=1;j<=7;j++)//一共循环7次,打印前7行.
	{   
		//打印一行中的空格
		for (i = 1; i <= a; i++)
		{
			printf(" ");
		}
		//打印同一行中的星号
		for (i = 1; i <= 2*j - 1; i++)
		{
			printf("*");
		}
		a--;//打印完一行准备打印下一行,每一行空格比上一行少一个,所以减一.
		printf("\n");//打印完一行,换行打印下一行.
	}
	//打印完成上半部分
	//准备打印下半部分
	//上半部分打印的7行包括中间全是星星的一行,所以下半部分打印比上半部分少一行
	for (j = 6; j >= 1; j--)
	{
		//打印一行中的空格
		for (i = 1; i <= b; i++)
		{
			printf(" ");
		}
		//打印一行中的星号
		for (i = 1; i <= 2*j - 1; i++)
		{
			printf("*");
		}
		b++;//打印完一行准备打印下一行,每一行空格比前一行多一个,所以加一
		printf("\n");//打印完一行,换行打印下一行.
	}
	return 0;
}

版权声明:本文为weixin_57163217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。