Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
Problem solving report:
Description: 回文串,即第一个和最后一个相同,第二个和倒数第二个相同……以此类推。根据要求判断是否为回文串。
Problem solving: 判断第一个和最后一个是否相同,第二个和倒数第二个是否相同……以此类推。
#include <stdio.h>
#include <string.h>
int main()
{
char a[110];
int i, n, len, temp;
scanf("%d%*c", &n);
while (n--)
{
gets(a);
temp = 1;
len = strlen(a);
for (i = 0; i < len; i++)
{
if (a[i] != a[len - i - 1])
{
temp = 0;
break;
}
}
if (temp)
printf("yes\n");
else printf ("no\n");
}
return 0;
}