程序设计大作业---打印正六边形

【问题描述】编写一个程序,输入一个正整数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;
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zkd758/article/details/80634524