C语言这样的的金字塔怎么输出

C语言这样的的金字塔怎么输出

问题描述:

C语言这样的的金字塔怎么输出,
5)绘制正立金字塔
输入高度和层数
高度= 层数=

img

你题目的解答代码如下:

#include<stdio.h>
int main()
{
    int i,j,k,l,h,g;
    printf("高度=");
    scanf("%d", &h);
    printf("层数=");
    scanf("%d", &g);
    for (i = 0; i < g;i++)
    {
        for (j = 0; j < h; j++)
        {
            for (k = 0; k < (g-i-1)*h; k++)
            {
                printf(" ");
            }
            for (k = 0; k <= i; k++)
            {
                for (l = 0; l < h*2; l++)
                {
                    if (l==h-j-1)
                        printf("/");
                    else if (l==h+j)
                        printf("\\");
                    else if (j<h-1)
                        printf(" ");
                    else
                        printf("_");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

如有帮助,望采纳!谢谢!

代码示例如下
有帮助望采纳~

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int a, b;
    printf("请输入金字塔的高度 1-30 :");
    scanf("%d", &a);
    printf("请输入金字塔的层数 1-100 :");
    scanf("%d", &b);
    // printf(" /\\\n/__\\");
    for (int i = 0; i < a * b; i++)
    {
        for (int j = 0; j < a * b * 2; j++)
        {
            if ((i + j - a * b + 1) % (a * 2) == 0 && (i + j - a * b + 1) >= 0 && ((j - i) <= a * b))
                printf("/");
            // printf("*");
            else if ((j - i - (a * b)) % (a * 2) == 0  && (i + j - a * b + 1) >= 0 && ((j - i) <= a * b))
                printf("\\");
            else if ((i + j - a * b + 1) >= 0 && ((j - i) <= a * b) && (i + 1) % a == 0)
                printf("_");
            // printf("*");

            else
                printf(" ");
        }
        printf("\n");
    }
};

img