首先明确做题整体思路:
- 分为两部分:上半部分和下半部分。
- 上下部分又可划分为打印空格和'*'。
- 循环由空格个数和'*'个数来决定j(循环几次)。
- 根据循环行数i找出规律。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
int line = 0;
scanf("%d",&line);
//打印上半部分
for(i = 0;i < line;i++)
{
//打印空格
for(j = 0;j < line - i - 1;j++)
{
printf(" ");
}
//打印*
for(j = 0;j < 2*i + 1;j++)
{
printf("*");
}
printf("\n");
}
//打印下半部分
for(i = 0;i < line - 1;i++)
{
//打印空格
for(j = 0;j<=i;j++)
{
printf(" ");
}
//打印*
for(j = 0;j < 2*(line - 1 -i) - 1;j++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}