例題3 3 回文詞 UVa 401

2021-10-06 09:34:17 字數 956 閱讀 2601

palindromes - uva 401

這道題目可使用兩個常量陣列,並且用了兩個偽指標,回文詞判斷就是兩邊指標往內收縮,全部相同就是回文詞(如果是長度為奇數最中間的字元不需考慮),映象詞同樣也是兩邊指標往內收縮,但是要判斷是不是為互相的映象字元(注意:長度為奇數的話最中間的字元需要判斷是否為自己的映象字元)

#include

#include

char ser=

"abcdefghijklmnopqrstuvwxyz123456789"

;char mir=

"a 3 hil jm o 2tuvwxy51se z 8 "

;int

main()

l++; r--;}

// 映象詞的判斷部分.

bool f2=

true

; l=

0; r=

strlen

(s)-1;

while

(l<=r)

l++; r--;}

if(f1&&f2)

printf

("%s -- is a mirrored palindrome.\n\n"

,s);if(

!f1&&f2)

printf

("%s -- is a mirrored string.\n\n"

,s);

if(f1&&

!f2)

printf

("%s -- is a regular palindrome.\n\n"

,s);if(

!f1&&

!f2)

printf

("%s -- is not a palindrome.\n\n"

,s);

}return0;

}

例題3 3 回文詞(UVa401)

輸入乙個字串,判斷它是否為回文串以及映象串。輸入字串保證不含數字0.所謂回文串,就是反轉以後和原串相同,如abba和madam。所有映象串,就是左右映象之後和原串相同,如2s和3aiae。注意,並不是每個字元在映象之後都能得到乙個合法字元。在本題中,每個字元的映象如圖所示 空白項表示該字元映象後不能...

UVA 401 回文詞(30行你信嗎)

第一次做這個提的時候做了兩三個小時沒有做對,自己的方法海特囉嗦,看到書上有講解,不得不服。判斷乙個字串是不是鏡面回文串,分成兩個部分,乙個判斷是回文,另乙個是判斷鏡面,兩個都符合那就是鏡面回文,符合那個輸出那個即可。include include includechar rev 40 對應的鏡面字母...

UVA401回文串 映象串判斷

回文串的判斷不難,難點在於映象串的判斷,所謂映象串就是根據題目的映象表兩次映象後保持原樣就是映象串,第一次映象後得到的是這個串的倒像,所以判斷乙個映象串的依據就是一次翻轉後是這個串的倒像。問題在於怎麼映象,寫個函式整個串映象?還是寫個函式只映象單個字元?顯然如果我們映象整個串會麻煩很多,所以選擇映象...