此题的解决思路为:将菱形分为上半部分和下半部分,分别打印。
具体代码如下:
#include<stdio.h>
int main()
{
int line;
scanf_s("%d", &line);
int i;
for (i = 0; i < line; i++)//打印line行
{
int j = 0;
for (j = 0; j < line - 1 - i;j++)//打印空格
{
printf(" ");
}
for (j = 0;j < 2 * i + 1; j++)//打印*
{
printf("*");
}
printf("\n");
}
for (i = 0; i < line-1; i++)//打印下半部分,打印line-1行
{
int j;
for (j = 0; j < i + 1;j++)//打印空格
{
printf(" ");
}
for (j = 1; j <= 2 * (line-1-i) - 1; j++)//打印*
{
printf("*");
}
printf("\n");
}
getchar();
return 0;
}