这一题最主要是输入的问题,我被这个输入的问题折磨的死去活来,现在还是一个一知半解的状态如果是gets();那么还要在后面加一个getchar();用来吸收换行符,如果是scanf("%s",c);的话就不需要加getchar();,因为scanf("%s",c);会自动吸收换行符。
了解清楚这个那么解决这个题目就很容易解决了,只需要用两个for循环来输出,然后在for循环进行条件判断即可。
#include<stdio.h>
void solve()
{
char c[3];
scanf("%s",c);//为什么这里只能用scanf("%s",c);,而不能用gets(c);
for(int i=1;i<=8;i++)
{
int x=c[1]-'0';
if(i!=x)
printf("%c%d\n",c[0],i);
}
for(int i=1;i<=8;i++)
{
if('a'+i-1!=c[0])
printf("%c%c\n",'a'+i-1,c[1]);
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
solve();
}
return 0;
}