采用二维数组覆盖法....很显然这个方法不适合这种图形(hei tui)
#include<stdio.h>
#include<string.h>
char a[60][60];
int main()
{int k;scanf("%d",&k);while(k--){int n;scanf("%d",&n);int temp=n-1;int p=0;int y=0;memset(a,' ',sizeof(a));while(n>=0){n-=1;p=0;for(int j=0;j<=n;j++){for(k=0;k<p*2+1;k++) a[j+y][n+k-j+y]='A'+n;if(temp==n) a[j][n+k-j]='\0';p++;}for(int j=1;j<=n;j++){p=(n-j)*2+1;for(k=0;k<p;k++) a[j+n+y][k+j+y]='A'+n;if(temp==n) a[j+n][k+j]='\0';}y++;}for(int i=0;i<2*temp+1;i++) printf("%s\n",a[i]);//记得加a[i] }return 0;
}