题目描述
下面代码的目标是输出一个大写字母组成的金字塔。 其中 spacespace 表示金字塔底距离左边的空白长度,xx 表示金字塔底的中心字母。 比如:space=0, x='C'space=0,x=′C′,则输出:
A
ABA
ABCBA
再如:space=2,x='E'space=2,x=′E′, 则输出:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
代码如下
#include <stdio.h>
#include <stdlib.h>
void h(int space, char x)
{
int i;
if(x<'A' || x>'Z') return;
h(space+1,x-1);
for(i=0; i<space; i++) printf(" ");
for(i=0; i<x-'A'; i++) printf("%c",'A'+i);
for(i=0; i<=x-'A'; i++) printf("%c",x-i);
printf("\n");
}
int main(int argc, char* argv[])
{
h(6,'E');
return 0;
}