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;
}