遇到对称图案的打印,可以用一条分界线分为上半部分和下班部分,以简化思路;
int main()
{
int a = 0;
int i = 0;
int j = 0;
while(scanf("%d", &a)== 1)
{
//上半部分a行
for (i = 0; i < a; i++)
{
//打印空格
for (j = 0; j < a - i; j++)
{
printf(" ");//一次两个空格
}
//打印*
for (j = 0; j <= i; j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for (i = 0; i < a+1; i++)
{
//打印空格
for (j = 0; j < i; j++)
{
printf(" ");//一次两个空格
}
//打印*
for (j = a-i; j >= 0; j--)
{
printf("*");
}
printf("\n");
}
}
return 0;
}