天天看點

實驗8-2-5 判斷回文字元串 (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;      
bool palindrome( char *s ){
    int flag = 1, i, j;
    int len = strlen(s), num = len/2;
    for (i = 0; i < num; i++)
        if (s[i] != s[len - 1 - i])
            flag = 0;
    
    if(flag)
        return true;
    else
        return false;
}      

繼續閱讀