同样的这次也出现了新的错误
自己一行行调式之后发现有的时候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;
}