#include<stdio.h>
#include<string.h>
char biao[111][111];
void pri(int n){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)printf(" ");
for(int j=n+1;j<=3*n-1;j++)printf("%c",biao[i][j]);printf("\n");
}
for(int i=1;i<=n*2-1;i++){
for(int j=1;j<=4*n-1;j++){
printf("%c",biao[i+n][j]);
}printf("\n");
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)printf(" ");
for(int j=n+1;j<=3*n-1;j++)printf("%c",biao[i+3*n-1][j]);printf("\n");
}
}
int main(){
char X;
while(scanf("%c",&X)!=EOF){
getchar();
memset(biao,'\0',sizeof(biao));
int n=X-'A'+1;int x=1,y=1;
for(int i=n;i>=1;i--){
for(int j=x;j<=4*n-x;j++){
for(int k=n+y;k<=3*n-y;k++){
biao[j][k]='A'+i-1;
}
for(int j=n+x;j<=3*n-x;j++){
for(int k=y;k<=4*n-y;k++){
biao[j][k]='A'+i-1;
}
}
}
x++;y++;
}
pri(n);
}
}
采用覆盖使表内存放的符合题意