金字塔算法一直是面试常见的基础题目;如何实现呢?
//半边金塔
for (int i = 1; i <= rows;i++)
{
for (int j = 1; j<=i;j++)
{
printf("* ");
}
printf("\n");
}
//倒半边金塔
for (int i = rows; i > 0;i--)
{
for (int j = 1; j <= i; j++)
{
printf("* ");
}
printf("\n");
}
//全金属塔
int k = 0;
for (int i = 1; i <= rows;++i)
{
for (int j = 1; j <=rows-i;j++)
{
printf(" ");
}
while (k != i*2-1)
{
printf("* ");
++k;
}
k = i;
printf("\n");
}
//倒全金属塔
for (int i = rows; i > 0; i--)
{
for (int j = 1; j <= rows - i;j++)
{
printf(" ");
}
k = i;
while (k!=i*2)
{
printf("* ");
k++;
}
printf("\n");
}
return 0;