#include <stdio.h>
int main()
{
int i=0;
int a=0;
int tmp=6;
while(a<8) //这里打印前面7行
{
for(i=0;i<8-a;i++)//控制空格依次减少
{
printf(" ");
}
for(i=1;i<=2*a-1;i++)
{
printf("*");//控制*号依次增加
}
a++;
printf("\n");
}
while(tmp)
//这里打印后面6行,记住要用新的值,不能共用a,否则不打印(因为a已经被改变了)
{
for(i=0;i<8-tmp;i++)//空格依次增加
{
printf(" ");
}
for(i=1;i<=2*tmp-1;i++)//*号依次减少
{
printf("*");
}
printf("\n");
tmp--;
}
return 0;
}
这里有必要跟大家讲一下思路
首先这个菱形一共13行,可以分为2部分打印,先打印上面的7行,前面空格依次减少,*号依次增加,然后再打印后面6行,空格依次增加,*号依次减少。