“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出”yes”,否则输出”no”.
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
#include<stdio.h>
#include<string.h>
int main()
{
int n, i, z,count;
char s[100];
scanf("%d",&n);
getchar();
while(n--)
{
gets(s);
z=strlen(s);
//printf("%d\n",z);
count =0;
if(z%2 !=0)
{
for(i=0; i<(z-1)/2; i++)
//printf("%c %c\n", s[((z-1)/2)-i-1],s[((z+1)/2)+i]);
if(s[((z-1)/2)-i-1] != s[((z+1)/2)+i])
count ++;
}
else
{
for(i=0; i<z/2; i++)
if (s[i] != s[z-1-i])
count ++;
}
if(count == 0 )
printf("yes\n");
else
printf("no\n");
}
}