1 题目
打印出如下图案(菱形)。
*
***
*****
*******
*****
***
*
2 分析
观察图案,共7行,其中前4行规律相同,后3行规律相同,那么在程序中,要分为两个部分来做,第一行发现三个空格一个星号,第二行两个空格三个星号,第三行一个空格四个星号,从中可以推算出空格个数、星号个数和行号的关系,由此才能利用循环输出图案,设行号从0开始编号,要注意的是空格和星号和行号的规律不相同,所以每行里面空格和星号分别要用一个for循环输出,最后不要忘了换行,具体规律见下面的程序
3 实现
#include <stdio.h>
int main() {
// 输出前4行
for (int i = 0; i < 4; i++) {
for (int j = 0; j <= 2-i; j++) {
printf(" ");
}
for (int k = 0; k <= 2*i; k++) {
printf("*");
}
printf("\n");
}
// 输出后3行
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) {
printf(" ");
}
for (int k = 0; k <= 4-2*i; k++) {
printf("*");
}
printf("\n");
}
}
4 运行结果
*
***
*****
*******
*****
***
*
C语言菱形图案打印
本文详细解析了如何使用C语言打印出一个菱形图案,通过分析图案的构成,将任务分解为前后两部分,利用双重for循环分别处理空格和星号的输出,最终实现了图案的精确打印。
888





