Description
一个字符串将其所有字符倒过来后和原来一样就称它是回文。如121是回文,abA不是回文。 你的任务就是对于输入的字符串判断是否是回文。
Input
第一行:测试数据组数N(1=接下来N行:
每行一个字符串(只有数字和字母(区分大小写),且字符串大小小于100).
Output
输出只有一行,即是否是回文。是输出“YES”,不是输出“NO”;
Sample Input
3
A1BB1A
545421564
4484412
Sample Output
YES
NO
NO
本人思路:因为回文数是正着读和倒着读都一样,那只需要比较输入的字符与倒过来的字符是否一样即可;
代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,len,j;
char str[1000],stu[1000];
scanf("%d",&n);
while(n--)
{
scanf("%s",str);
len=strlen(str);
for(i=len-1,j=0;i>=0;i--) //把输入后的字符串倒过来
{
stu[j]=str[i];
j++;
}
stu[len]=0; //字符串的最后一个字符‘\0’的值为0;
if(strcmp(stu,str)!=0)
{
printf("NO");
}
else
printf("YES");
printf("\n");
}
return 0;
}