我们可以使用C语言中的循环打印一个棱形图案,如下图
这种题目就是判断行、列、每一行的空格数、每一行的*数的数量规律,我们可以在纸上稍微算一下,分上下两部分打印,此时思路就清晰很多!
1.我们打印任意行:上半部分,每一行的*往后递增2个,每空格数往后减少一个
2.下半部分,每一行的空格数递增一个,每*数减少2个
3.代码如下:
int main()
{
int line = 0;
int i = 0;
scanf("%d", &line);
//先确定多少行
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)-(2*i)-3; j++)
{
printf("*");
}
printf("\n");
}
}