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