“书中自有黄金屋 书中自有颜如玉”,噢!小Z现在太爱读书了,以至于做梦都在想读书的画面。现在他想回想一下梦里的场景,也就是一本书的画面,这本书是立体的,所以是一个长方体。 他需要画出这个长方体的立体图像以便向大家分享他梦中的场景,如图所示是一个长为 7 宽为 4 高为 5 的长方体。
现在请你帮小Z用任意字符画出长为 a ,宽为 b ,高为 c 的长方体
输入格式:
单实例
第一行一个字符 t 表示需要用 t 来构建出长方体
第二行三个数 a,b,c表示长方体的长宽高(1≤a,b,c≤500)
输出格式:
输出小Z梦中长方体的样子。
输入样例:
@
7 4 5
输出样例:
@@@@@@@
@ @@
@ @ @
@@@@@@@ @
@ @ @
@ @ @
@ @@
@@@@@@@
#include <stdio.h>
int min ( int a, int b )
{
return a < b? a : b;
}
char t;
int a, b, c;
int h, w, l, sum;
void work()
{
int i;
if (sum == 0 || sum == h)
{
printf("%c", t);
}
else
{
for (i=0; i < min(min(b - 2, c- 2), min(sum, h - sum - 1)); i++)
printf(" ");
printf("%c", t);
}
sum++;
}
void sol()
{
int i;
int x = b - 1, sk = 0;
while (x)
{
for (i=0; i < x; i++) printf("");
if (x == b - 1)
for (i=0; i <a; i++) printf("%c", t);
else
{
printf("%c", t);
for (i=0; i < a - 2;i++)
printf(" ");
if (a > 1)
printf("%c", t);
if (c > 1 && b > 1)
work();
}
printf("\n");
x--;
}
for (i=0; i < a; i++)
printf("%c", t);
if (c > 1 && b > 1)
work();
printf("\n");
if (c == 1)
return;
x = c - 2;
while (x--)
{
printf("%c", t);
for (i=0; i < a - 2; i++)
printf(" ");
if (a > 1)
printf("%c", t);
if (c > 1 && b > 1)
work();
printf("\n");
}
for (i=0; i < a; i++)
printf("%c", t);
printf("\n");
}
int main()
{
while (~scanf("%c", &t))
{
scanf("%d%d%d", &a, &b, &c);
getchar();
h = c + b - 3, w = c - 2, l = b - 2,
sum = 0;
sol();
}
return 0;
}