GDUFE ACM1028

回文串

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 }
原文地址:https://www.cnblogs.com/2119662736lzj/p/5998808.html