【问题描述】编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。
【输入形式】输入一个正整数N。
【输出形式】屏幕上输出以N为边长的正六边形。
【样例输入】
4
【样例输出】
****
-
-
*
-
*
-
*
-
****
【样例说明】输入的为一个正整数,打印输出一个以这个正整数为边长的正六边形.
###****
######
#######
########
#######
######
###****
#号代表空格。
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
int i,j,k;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
if(i==0)
{
for(k=0;k<n;k++)
printf("*");
}
else
{
printf("*");
for(k=0;k<n+2*i-2;k++)
{
printf(" ");
}
printf("*");
}
printf("\n");
}
for(i=n;i<2*n-1;i++)
{
for(j=0;j<i-n+1;j++)
printf(" ");
if(i==2*n-2)
{
for(k=0;k<n;k++)
printf("*");
}
else
{
printf("*");
for(k=0;k<5*n-2*i-6;k++)
{
printf(" ");
}
printf("*");
}
printf("\n");
}
return 0;
}
注意找规律🤯