C语言实现——打印菱形

目录

前言

如何实现

代码实现

定义一个变量line来接收输入的行数

 实现上半部分

 实现下半部分

代码汇总 


前言

输入一个数,打印对应的菱形

该菱形表现为:

从第一行到中间行的行数为输入的数,

从中间行到结束行的行数为输入的数。

如图:输入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;
}