【问题描述】编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。
【输入形式】输入一个正整数N。
【输出形式】屏幕上输出以N为边长的正六边形。
【样例输入】
4
【样例输出】
【样例说明】输入的为一个正整数,打印输出一个以这个正整数为边长的正六边形.
【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:libianxing.c。
#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)) ? 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)) ? printf("*") : printf(" ");
}
printf("\n");
}
getchar(); getchar(); getchar(); getchar();
return 0;
}