6-3 判斷回文字符串 (20分)
本題要求編寫函數,判斷給定的一串字符是否為“回文”。所謂“回文”是指順讀和倒讀都一樣的字符串。如“XYZYX”和“xyzzyx”都是回文。
函數接口定義:
bool palindrome( char *s );
函數palindrome判斷輸入字符串char *s是否為回文。若是則返回true,否則返回false。
裁判測試程序樣例:
#include <stdio.h> #include <string.h> #define MAXN 20 typedef enum {false, true} bool; bool palindrome( char *s ); int main() { char s[MAXN]; scanf("%s", s); if ( palindrome(s)==true ) printf("Yes\n"); else printf("No\n"); printf("%s\n", s); return 0; } /* 你的代碼將被嵌在這里 */
輸入樣例1:
thisistrueurtsisiht
輸出樣例1:
Yes
thisistrueurtsisiht
輸入樣例2:
thisisnottrue
輸出樣例2:
No thisisnottrue
1 bool palindrome( char *s ) 2 { 3 int str=strlen(s); 4 int i; 5 for(i=0;i<str/2;i++) 6 { 7 if(s[i]!=s[str-i-1]) 8 return 0; 9 } 10 return 1; 11 }
