回文判断题,哪位神仙给看看错哪儿了

描述
输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。
输入
输入数据有若干行,第一行输入一个正整数k,表示k组输入测试数据,然后输入k行字符串,每行字符串以“回车”结束。
输出
输出数据共k行,对应k组输入测试数据的判断,是回文输出’Y’ ,否则输出’N’
难度
入门
输入示例
2
abcdef
abccba
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000];
int i,k,m,n;
scanf("%d",&k);
while(k--)
{
scanf("%s",&a[i]);
m=0;
gets(a);
n=strlen(a);
if(n%2==0)
{
for(i=0; i<n/2; i++)
{
if(a[i]!=a[n-i-1])
m++;
}
}
else
{
for(i=0; i<(n-1)/2; i++)
{
if(a[i]!=a[n-i-1])
m++;
}
}
if(m==0)
printf("Y\n");
else
printf("N\n");
}
return 0;
}

你这什么意思啊,输入直接gets(a) 不就行了?还有,不用分两种情况啊