<pre name="code" class="cpp">/* 题目描述: 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。 输入: 输入包括一行字符串,其长度不超过1000。 输出: 可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。 样例输入: hellolleh helloworld 样例输出: Yes! No! */ # include <stdio.h> # include <string.h> int main(void) { char s[1010]; while(scanf("%s", s) != EOF) { getchar(); //吸收回车符。 int i,len,q,flag = 1; len = strlen(s); q = len / 2; if((len % 2) != 0) q++; for(i = (len/2)-1; i >= 0; i--) { if((s[i] != s[q]) && (q < len)) { flag = 0; break; } q++; } if(flag == 1) printf("Yes!\n"); else printf("No!\n"); } return 0; }
时间: 2024-10-10 22:33:10