HDOJ 2029 Palindromes _easy version
Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“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 palStr(char*);
int main(void)
{
char str[110];
int n, ret;
scanf("%d", &n);
getchar();
while ( n--)
{
scanf("%[^\n]", str); //输入一行带空格的字符串,碰到换行才结束
getchar(); //处理多余换行
if (palStr(str))
printf("yes\n");
else
printf("no\n");
}
return 0;
}
int palStr(char* str)
{
int len = strlen(str);
int i, j;
i = 0;
j = len - 1;
while (i < j)
{
if (str[i] != str[j]) //两头堵模型, 发现不一样的直接返回0
return 0;
i++;
j--;
}
return 1; //循环正常结束,字符串是回文,返回1
}