C语言这样的的金字塔怎么输出
问题描述:
C语言这样的的金字塔怎么输出,
5)绘制正立金字塔
输入高度和层数
高度= 层数=
答
你题目的解答代码如下:
#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");
}
};