Problem Description
输入n,输出对应的边长为n的空心正六边形。
为方便看图,样例中点 '.' 表示空格,打印图形时请打印空格而非小圆点。
Input
边长n.(n<=20)
Output
边长为n的正六边形
Sample Input
5
Sample Output
.....*****
....*.....*
...*.......*
..*.........*
.*...........*
..*.........*
...*.......*
....*.....*
.....*****
#include<stdio.h>
#include<math.h>
void prt(char c, int count)
{
while(count--)
{
printf("%c",c);
}
} int main()
{
int N, L;
while(scanf("%d",&N)!=EOF)
{
if(N> && N<=)
{
L=;
for(; L < * N - ; L++)
{
prt(' ', );
prt(' ', abs(N - L-)); if( == L || L == * N - )
{
prt('*', N);
}
else
{
prt('*', );
prt(' ', * N - -(abs(L+ - N) * ));
prt('*', );
}
printf("\n");
}
}
}
return ;
}