//关于本题的一些思路:可把整个菱形分为两部分,上面一部分可看作一个输入数字n的一个n+1行三角形,然后下面部分可看成一个倒立的三角形(值得注意的是,在下面三角形的输出时每一行前都会有空格,而经观察不难发现,其实在倒三角形的输出中,倒三角形的第i行前就需输出i个空格,明白这些就不难了),注意不要打错代码
include <stdio.h>
int main()
{
int n, i, j;
while (~scanf("%d", &n))
{
for (i = 1; i <= n + 1; i++)
{
for (j = 1; j <= n + 1 - i; j++)
{
printf(" ");
}
for (j = 1; j <= i; j++)
{
printf("* ");
}
printf("\n");
}
for (i = 1; i <= n;i++)
{
for (j = 1; j <= i;j++)
{
printf(" ");
}
for (j = n; j >= i; j--)
{
printf("* ");
}
printf("\n");
}
}
return 0;}

京公网安备 11010502036488号