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 运行结果
*
***
*****
*******
*****
***
*