思路:
分上下两部分(以n/2+1为界)
外循环为行,内循环为列
每一行有n个输出
1.上(包括n/2+1)
(1)输出空格:n/2+1行输出0个,n/2行输出1个…第i行输出n/2-i个
(2)输出星号:n/2+1行输出n个,n/2行输出n-2个…第i行输出2i个
2.下(不包括n/2+1,将下一行看成第一行)
(1)输出空格:第一行输出1个…第i行输出i个
(2)输出星号:第一行输出n-2个…第i行输出n-2i个
include[HTML_REMOVED]
using namespace std;
int main()
{
int n,i,j;
scanf(“%d”,&n);
for(i=0;i<=n/2;i)
{
for(j=0;j<n/2-i;j)
printf(” “);
for(j=0;j<2i+1;j)
printf(“*”);
printf(“\n”);
}
for(i=0;i<n/2;i)
{
for(j=0;j<i+1;j)
printf(” “);
for(j=0;j<n-2-2*i;j)
printf(“”);
printf(“\n”);
}
return 0;
}