同样的这次也出现了新的错误
自己一行行调式之后发现有的时候B会变成‘\n’;
比如说在输入5的时候执行2次就return 0了
这就很奇怪了,后来也是突然想到用getchar清一下,然后成功AC
#include<stdio.h>
#include<string.h>
char a[60][60];
/*
5
A
B
C
D
E
*/
int main()
{ memset(a,' ',sizeof(a)); int k;scanf("%d",&k);while(k--){char B;getchar();scanf("%c",&B);int n;n=B-'A'+1;for(int i=1;i<=n;i++){a[i*2-1][n]='A'-1+i;a[i*2-1][n+1]='\0'; for(int j=0;j<i*2+1;j++) a[i*2][n-i+j]='A'-1+i;a[i*2][n+i+1]='\0';}for(int i=1;i<=n*2;i++) printf("%s\n",a[i]);memset(a,' ',sizeof(a));}return 0;
}