C语言中打印图形问题

C语言中打印图形问题

上半部分规律:星号数目是行数的二倍减一,空格数是上半部分总行数减去它所在的行号;

下半部分规律:从下半部分开始算起,每行星号数是2line-2n-1,空格数目为它所在的行号

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main()
{
	int line = 0;
	int n = 0;
	int i = 0;
	int j = 0;
	printf("请输入要打印的菱形上半部分的行数:");
	scanf("%d",&line);
	//打印上半部分
	for (n=1; n<=line; n++)//控制行数
	{
		for (i=0; i<line-n; i++)//控制空格数量
		{
			printf(" ");
		}
		for (j=0; j<2*n-1; j++)//控制星号数量
		{
			printf("*");
		}
		printf("\n");
	}
	//打印下半部分
	for (n=1; n<line; n++)//控制行数
	{
		for (i=0; i<n; i++)//控制空格数量
		{
			printf(" ");
		}
		for (j=0; j<2*line-2*n-1; j++)//控制星号数量
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43639786/article/details/83862165