题目描述
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
输入
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串,字符串长度不超过500。
输出
如果一个字符串是回文串,则输出"yes",否则输出"no".
示例输入
4 level abcde noon haha
示例输出
yes no yes no
提示
来源
HDOJ
示例程序
#include <stdio.h>
int main()
{
int n = 0,i = 0,k = 0;
char a[510];
char *ps = NULL,*pe = NULL;
char tmp = ' ';
int num = 0;
//freopen ("1.txt","r",stdin);
scanf ("%d",&n);
getchar ();
for (i = 0;i < n;i++)
{
gets (a);
pe = a;
ps = a;
num = 0;
while(*pe != '\0')
{
num++;
pe++;
}
pe--;
num /= 2;
for (k = 0;k < num;k++)
{
if (*pe != *ps)
break;
}
if (k < num)
{
puts("no");
}else
{
puts("yes");
}
}
return 0;
}