UVa-401-Palindromes(回文)
生活随笔
收集整理的這篇文章主要介紹了
UVa-401-Palindromes(回文)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這一題的話我們可以把映像字符的內容給放入一個字符串常量里面,然后開辟一個二維的字符串常量數組,里面放置答案。
對于回文實際上是很好求的,對于鏡像的話,我們寫一個返回char的函數,讓它接收一個char。
接收之后進行判斷,如果它是字母的話,我們就返回它減去'A'這個字母,得到的整數下標對應的鏡像字符串中的字母。
如果不是,我們就返回它減去字符0,得到它的整數值,然后加上25得到它的下標,然后返回對應字母。
這題其實很簡單,認真看看就行了。
#include <stdio.h> #include <ctype.h> #include <string.h>const char* rev="A 3 HIL JM O 2TUVWXY51SE Z 8"; const char* msg[]={"is not a palindrome.","is a regular palindrome.","is a mirrored string.","is a mirrored palindrome."};char r(char ch) {if (isalpha(ch))return rev[ch-'A'];else return rev[ch-'0'+25]; }int main() {char s[30];while (scanf("%s",s)!=EOF) {int p=1,m=1;int len=strlen(s);for (int i=0;i<(len+1)/2;i++) {if (s[i]!=s[len-1-i]) {p=0;}if (r(s[i])!=s[len-1-i])m=0;}printf("%s -- %s\n\n",s,msg[p+2*m]);}return 0; }?
轉載于:https://www.cnblogs.com/xyqxyq/p/10211332.html
總結
以上是生活随笔為你收集整理的UVa-401-Palindromes(回文)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何安装vs2010助手?
- 下一篇: 人工智能大数据,公开的海量数据集下载