一个双循环的问题求解,希望能解答

代码港湾 其他问答 1

【问题描述】编写一个程序,输入一个正整数N,在屏幕上用*和~打印以N为边长的正六边形。 【输入形式】输入一个正整数N。 【输出形式】屏幕上输出以N为边长的正六边形。

回复

共1条回复 我来回复
  • 毕业设计客栈
    这个人很懒,什么都没有留下~
    评论

    供参考:

    #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;
    }
    
    0条评论

发表回复

登录后才能评论