【问题描述】编写一个程序,输入一个正整数N,在屏幕上用*和~打印以N为边长的正六边形。
【输入形式】输入一个正整数N。
【输出形式】屏幕上输出以N为边长的正六边形。
供参考:
#include<stdio.h>
int main()
{
int i, j, n;
scanf("%d", &n);
for (i = 1; i <= (2 * n - 1); i++)
{
if (i == 1 || i == (2 * n - 1)) {
for (j = 1; j <= (2 * n - 1); j++)
(j < n) ? printf(" ") : printf("*");
}
if (i > 1 && i <= n)
{
for (j = 1; j <= (2 * n + i - 2); j++)
(j == (n - i + 1) || j == (2 * n + i - 2)) ? i % 2 == 0 ? printf("~") : printf("*") : printf(" ");
}
if (i > n && i < (2 * n - 1)) {
for (j = 1; j <= (4 * n - i - 2); j++)
(j == (i + 1 - n) || j == (4 * n - i - 2)) ? i % 2 == 0 ? printf("~") : printf("*") : printf(" ");
}
printf("\n");
}
return 0;
}