輸入的名字為長度1~20的全大寫字串,且不會有空白字元。
How to generate the Soundex Code:
Sundex Code編碼一定是一個字母後面接三個位數的數字,編碼的原則如下:- 名字的第一個字母就是編碼後的第一個字母,而且也是唯一一個字母。
- 字母A, E, I, O, U, Y, W, H不作編碼,但具有區隔連續數字編碼的作用(請參考下一個規則)。
- 除上述幾個字母不作編碼外,其他字母皆需進行編碼,但有一個例外是:如果該字母與上一個字母的編碼一致(包含第一個字母),則不進行編碼。
- 若編碼後的長度太短,請用0補滿到三個位數。
- 編碼到3個位數之後則結束,請捨棄剩下的字母。
- 編碼表如下:
Code Key Letters and Equivalents 1 B, P, F, V 2 C, S, K, G, J, Q, X, Z 3 D, T 4 L 5 M, N 6 R
Input
輸入的每一列都會有一個名字,每個名字不超過20個字元,且只會有大寫字母。讀到EOF表示輸入資料結束。Output
輸出的資料會有兩欄,第一欄為編碼前的名字,第二欄為編碼後的資料,請在第一列輸出兩欄位的標頭"NAME"與"SOUNDEX CODE",且請對齊從左邊數來第10與第35個字元的位置,每筆資料請以此方式對齊輸出。並請在最後一列第20個字元的位置輸出"END OF OUTPUT"。Sample Input
LEE KUHNE EBELL EBELSON SCHAEFER SCHAAK
Sample Output
NAME SOUNDEX CODE LEE L000 KUHNE K500 EBELL E140 EBELSON E142 SCHAEFER S160 SCHAAK S200 END OF OUTPUT | | | | | |__ 位置35 | |__ 位置20 |__ 位置10
原文出處
沒有留言:
張貼留言