描述
打印用“*”组成的菱形图案。
输入描述:
多组输入,一个整数(2~20)。
输出描述:
针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。
示例1
输入:2
输出:
* * * * * * * * *
示例2
输入:3
输出:
* * * * * * * * * * * * * * * *
示例3
输入:
4
输出:
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
思路:
首先,两层for循环是跑不掉的,最外层的for循环用来控制行数,内层的for循环用来控制空格以及* 图案.我们主要来说明内层的for循环.
刚开始上手时,最好还是用笔和纸来画一画,这样可以极大的降低我们的思维负担及思考难度.我们先处理上边的三角部分.
要先打印出空格,在打印每一行的* .如图:通过 a(行数) 与 i (外层for)之间的关系,我们推导可以得出j = 0; j(内层for)< a - i 就可以满足这个条件.不过要注意的是:条件不唯一.

图案就很简单了.
下半部分也是同样的道理.需要画一画来思考.
完整代码如下:
#include<stdio.h>
int main(void)
{
int i, j, a = 0;
while(~scanf("%d", &a))
{
for(i = 0; i < a + 1; i++)
{
for(j = 0; j < a - i; j++)
{
printf(" ");
}
for(j = 0; j < i + 1; j++)
{
printf("* ");
}
printf("\n");
}
for(i = 0; i < a ; i++)
{
for(j = 0; j <= i; j++)
{
printf(" ");
}
for(j = 0; j < a - i; j++)
{
printf("* ");
}
printf("\n");
}
}
return 0;
}
该博客介绍了如何使用C语言编程实现打印菱形图案的功能。通过两层循环控制,分别处理菱形的上半部分和下半部分,根据输入的整数动态调整菱形的大小。文章详细解析了代码逻辑,包括空格和星号的打印顺序,以及如何根据输入调整输出。适合初学者理解控制结构和图形输出。
2350

被折叠的 条评论
为什么被折叠?



