实现思想:
先要将菱形分为上下两个三角形,接下来通过两个循环分别输出这两部分。首先设置变量line代表上三角行数,通过键盘输入,接着设置三个变量 i, j, k。 i 控制循环次数, j 控制空格数, k 控制“”的个数。在上三角中,循环line次,行数 =i+1,空格数=line-(i+1),“”的个数=2*(i+1)-1;在下三角中,循环line-1次,空格数=i+1,“”的个数=2line-1-2*(i+1) 。
源代码:
/*
*2019.5.19
*用C语言实现打印菱形
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
int line;
int i = 0, j = 0, k = 0;
printf("请输入想要打印菱形的最大行数:");
scanf("%d", &line);
for (i = 0; i < line; i++){
for (j = 0; j < line - (i + 1); j++){
printf(" ");
}
for (k = 0; k < 2*(i+1)-1; k++){
printf("*");
}
printf("\n");
}
for (i = 0; i < line - 1; i++){
for (j = 0; j < i + 1; j++){
printf(" ");
}
for (k = (2 * line) - 1 - 2 * (i + 1); k > 0; k--){
printf("*");
}
printf("\n");
}
printf("\n");
return 0;
}
打印结果: