習題8-8 判斷迴文字符串 (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
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;

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章