本題要求編寫函數,判斷給定的一串字符是否爲“迴文”。所謂“迴文”是指順讀和倒讀都一樣的字符串。如“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 len;
len=strlen(s);
if(len%2)
for(int i=0;i<(len-1)/2;i++){
if(s[i]==s[len-i-1])
continue;
else
return 0;
}
else
for(int i=0;i<len/2;i++)
{
if(s[i]==s[len-i-1])
continue;
else
return 0;
}
return 1;
}