回文串
Time Limit: 2000/1000ms (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
此题不难,思路很重要,知道思路,很快可以A。
代码如下:
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int j,i,k,a,n; 6 char s[1000]; 7 scanf("%d",&n); 8 getchar(); 9 while(n--) 10 { 11 a=0; 12 gets(s); 13 j=strlen(s); 14 for(i=0;i<j;i++) 15 if(s[i]==s[j-i-1])// 16 a++;// 17 if(a==j)//这几步是思路所在 18 printf("yes\n"); 19 else printf("no\n"); 20 } 21 return 0; 22 }