智慧型T9英文輸入法

2021-04-07 03:00:21 字數 1605 閱讀 9398

智慧型t9英文輸入法

time limit:1s memory limit:1000k

total submit:1556 accepted:534

某款新型手機為了方便使用者,希望開發一種新的英文輸入法.要求在輸入英文的時候輸入法不但能夠做到自動聯想,還能進行自動

糾錯.譬如使用者希望輸入hello這個單詞,他應該輸入43556,但是他不小心輸入了46556.輸入法發現詞庫中找不到任何匹配的單詞,

於是嘗試把6糾正為3,這便是糾錯功能.現在需要你來開發這個輸入法的核心部分.

給出詞庫和使用者的輸入,請你依次給出適合的單詞.

2 a b c

3 d e f

4 g h i

5 j k l

6 m n o

7 p q r s

8 t u v

9 w x y z

注意:1和0沒有對應的字母,但是1和0也有可能出現.

該題含有多組測試資料。

每組資料第一行是乙個整數n(1<=n<=100),表示詞庫中的單詞個數.

接下來n行每行是乙個詞庫中的單詞.單詞只包含大寫字母,長度不會超過10.不會出現兩個相同的單詞.

最後一行是乙個數字串表示使用者的輸入.輸入的長度不會超過10.

對於每組測試資料的輸出,包含四個部分.

首先輸出完全符合輸入的單詞.

然後是根據聯想得到的單詞,即字首部分完全符合輸入的單詞.

接下來輸出糾正乙個按鍵之後完全符合輸入的單詞.

然後是糾正乙個按鍵之後聯想得到的單詞.

每部分如果有多個匹配,則按字典順序輸出.

保證不會出現無解情況.

6bvujmee

mutkoe

btvloe

atvkei

evtjnjhf

ovvlmfaabc

288563

btvloe

bvujmee

mutkoe

ovvlmfaabc#include

#include

struct node

;char codetable[26] =

;struct node *pwords[100];

void outputfit(int n, char* input)

if(*p == 0) puts(pwords[i]->word);}}

void outputsimilar(int n, char* input, int pos)

else if('0' + i != temp[pos])}}

int main()

*q = 0;

}for(i = 0; i < n - 1; i++)else if(cmp == 0)}}

}gets(input);

outputfit(n, input);

count = 0;

p = input;

while(*p)

p++;

}if(count == 0) outputsimilar(n, input, 0);

else if(count == 1)}}

return 0;

}超時了......

T9輸入法的實現

t9輸入法,名字聽起來陌生,可是大家卻經常使用它。可以說t9輸入法是輸入法歷史中的一次革命。至少自t9輸入法開始,輸入法有長足的進步。如圖手機中九個數字鍵。26個英文本母被分配到2至9這8個數字鍵上。以前想輸入英文單詞的時候總是需要連續多次按某個鍵,才能得到目標字母。比如想輸入 hello 就需要按...

乙個轉來的簡單T9輸入法

關於t9輸入法的核心程式 由朋友nix提供 共兩個檔案,乙個是nixinputmethod.h,還有乙個是t9.c 參見附錄。具體輸入法的實現方法如下 1 首先建立乙個對話方塊,然後在其中放入兩個控制項 idc edit1 和 idc word static控制項 2 為了實現在edit中一邊輸入,...

T9手機輸入法的發明者Martin King

martin king是曾經最流行的手機文字輸入法t9的發明者,2010年9月21日因癌症醫治無效去世,享年60歲,他長期抗爭的疾病來自越南戰爭時期美軍試用的橙劑所誘發。他的生命如同隕星短暫地掃過天空,整個世界都從他的才智中受益非淺。martin king最大的貢獻就是為所有手機使用者熟知的t9輸入...