習題8-8 判斷迴文字串(20 分)
阿新 • • 發佈:2019-01-08
題目來源:https://pintia.cn/problem-sets/12/problems/342
本題要求編寫函式,判斷給定的一串字元是否為“迴文”。所謂“迴文”是指順讀和倒讀都一樣的字串。如“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
bool palindrome( char *s ) { int i,n; n=strlen(s); if(n%2) { for(i=0;i<(n-1)/2;i++) { if(s[i]==s[n-1-i]) continue; else return false; } } else { for(i=0;i<n/2;i++) { if(s[i]==s[n-1-i]) continue; else return false; } } return true; }