输入一个大写的英文字母,输出空心的字母金字塔。
输入格式:
一个大写英文字母。
输出格式:
一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。
输入样例:
E
输出样例:
A
B B
C C
D D
EEEEEEEEE
#include<stdio.h>
int main ()
{
int i,j,k,l;
int n=1;
char a;
scanf("%c",&a);
for (i=0;i<39;i++) {
printf(" ");
}
printf("A\n"); //先输出39个空格和一个A
int b=a;
if (b>65) { //A的ASCII码=65,判断输入是否>A
for (j=0;;j++) {
for (k=0;k<i-j-1;k++){ //输出的空格数减1
printf(" ");
}
printf("%c",65+n); //输出下一位字母
for (l=0;l<2*n-1;l++) {
if(b<=66) {
printf("%c",65+n); //b==66时,为倒数第一行,直接输出字母
} else
printf(" "); //输出中间的空格
}
printf("%c\n",65+n);
b--; //每次输出完一行,b--,当b==66时,即为倒数第一行
n++;
if (b<=65) break; //当b减到65时,退出
}
}
return 0;
}