神奇的字串</p><p>Time Limit:1000MS Memory Limit:65536K<br />Total Submit:282 Accepted:96 </p><p>Description </p><p>GDUT的3xian的字串處理功力在ACM界無人不知無人不曉。<br />今天,july從3xian那偷到了一本秘籍,從此,開啟書的第一章,頁首寫著26個字母”IUJTMFHXOKBQEAPZCDWRYNVSGL” ,下面一句話,26個字母對應著英文字母”ABCDEFGHIJKLMNOPQRSTUVWXYZ” ,此書根據此字母表編寫,需要翻譯後查看。july為了練就3xian的神功,請你為他寫一個程式,以便翻譯書上內容。 </p><p>Input </p><p>輸入一個數,代表需要翻譯的串的數目<br />輸入3xian秘籍原文,格式為一行字串,僅由(A … Z)26個字母組成,長度不超過100 </p><p>Output </p><p>對於每個字串,輸出翻譯後的內容</p><p>Sample Input </p><p>1<br />XMQQP</p><p>Sample Output </p><p>HELLO</p><p>Source </p><p>xiao_wu</p><p>#include<stdio.h><br />#include<string.h></p><p>typedef struct Match<br />{<br />char sou[26] ;<br />char mat[26] ;<br />} Match ;</p><p>int main(void)<br />{<br />char temp = 'A' ;<br />char SouStr[] = {'I','U','J','T','M','F','H','X','O','K','B','Q','E','A','P','Z','C','D','W','R','Y','N','V','S','G','L' } ;<br />int i = 0 ;<br />Match match ;<br />int t ;<br />int n = 0;<br />char str[101] ;<br />int j = 0 ;</p><p>for(i =0 ; i < 26 ; i++)<br />{<br />match.sou[i] = SouStr[i] ;<br />match.mat[i] = temp + i ;<br />}</p><p>//puts("Please enter the number: ") ;<br />scanf("%d",&t) ;<br />getchar() ;</p><p>while(t-- > 0)<br />{<br />gets(str) ;<br />n = strlen(str) ;</p><p>for(i = 0 ; i < n ; i++)<br />{<br />for(j = 0 ; j < 26 ; j++)<br />{<br />if(str[i] == match.sou[j])<br />{<br />putchar(match.mat[j]) ;<br />break ;<br />}<br />} //end of for2</p><p>} //end of for1</p><p>putchar('/n') ;</p><p>} //end of while</p><p>return 0 ;<br />}
第一個被接受的ACM水題。。雖然真的是水題,但是我終於做對。。算是對自己的一點激勵~~~~