HDOJ2029Palindromes _easy version

Palindromes _easy version

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19946    Accepted Submission(s): 12465


Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
 

 

Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
 

 

Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
 

 

Sample Input
4 level abcde noon haha
 

 

Sample Output
yes no yes no
 

 

Author
lcy
 

 解题报告:

水题。得到字符串长度,比较首末元素是否相当,若不相等,直接no;一直比较到元素交叉,则输出yes

 1 #include<stdio.h>
 2 #include<string.h>
 3 char buf[1024];
 4 int main()
 5 {
 6     int n, len, i, j;
 7     scanf("%d", &n);
 8     getchar();
 9     while(n--)
10     {
11         gets(buf);
12         len = strlen(buf);
13         i = 0, j = len-1;
14         while(i <= j)
15         {
16             if(buf[i] == buf[j])
17             {
18                 i++;
19                 j--;
20             }
21             else
22             {
23                 printf("no\n");
24                 break;
25             }
26         }
27         if(i > j)
28             printf("yes\n");
29 
30     }
31     return 0;
32 }

 

posted on 2014-04-08 21:20  stackhacks  阅读(145)  评论(0编辑  收藏  举报

导航