次のパターンを出力するプログラムを作成します。
行 数 1 2 3 4 5 6 7 8 9 10 11 12 13
*个数 1 3 5 7 9 11 13 11 9 7 5 3 1
左边
空格数 6 5 4 3 2 1 0 1 2 3 4 5 6
//编写一个程序,输出如下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
#include <stdio.h>
int main()
{
int i, j, k;
for (int i = 1; i <= 13; i++)
{
//将输出上部分根据等差数列求*
if (i < 7)
{
for (int k = 6; k >= i; k--)
{
printf(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
printf("*");
}
printf("\n");
}
//跟上部分是对称
else if (i > 7)
{
for (int k = 1; k <= i - 7; k++)
{
printf(" ");
}
for (int j = 13 - 2 * (i - 7); j >= 1; j--)
{
printf("*");
}
printf("\n");
}
//中间没有空格直接输出*
else
{
for (int j = 1; j <= 2 * i - 1; j++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}