C语言实现——打印菱形
目录
前言
输入一个数,打印对应的菱形
该菱形表现为:
从第一行到中间行的行数为输入的数,
从中间行到结束行的行数为输入的数。
如图:输入7,打印以下菱形

如何实现
实现的思路如下:
经过观察可以发现,菱形是由空格和 * 组成的,就可以分四步来实现
1.定义一个变量line来接收输入的行数,假设输入值为7
2.将菱形分解为两部分,上半部分和下半部分

定义一个变量 i ,循环打印上半部分和下半部分每行的内容,i 从0开始
上半部分行数为 line
下半部分行数为 line-1
3.打印上半部分的内容
4.打印下半部分的内容
代码实现
定义一个变量line来接收输入的行数
#include <stdio.h>
int main()
{
    int line = 0;
    scanf("%d",&line);
    return 0;
}
实现上半部分
//上半部分
	int i = 0;
	for (i = 0; i < line; i++)
	{
		//打印一行
		//空格
		int j = 0;
		for (j = 0; j < line - 1 - i; j++)
		{
			printf(" ");
		}
		// *
		for (j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}实现下半部分
//下半部分
	for (i = 0; i < line - 1; i++)
	{
		//打印一行
		//空格
		int j = 0;
		for (j = 0; j <= i; j++)
		{
			printf(" ");
		}
		// *
		for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
代码汇总
#include <stdio.h>
int main()
{
	int line = 0;
	scanf("%d", &line);
	//上半部分
	int i = 0;
	for (i = 0; i < line; i++)
	{
		//打印一行
		//空格
		int j = 0;
		for (j = 0; j < line - 1 - i; j++)
		{
			printf(" ");
		}
		// *
		for (j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	//下半部分
	for (i = 0; i < line - 1; i++)
	{
		//打印一行
		//空格
		int j = 0;
		for (j = 0; j <= i; j++)
		{
			printf(" ");
		}
		// *
		for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}