目录
前言
如何实现
代码实现
定义一个变量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;
}