免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 19790 | 回复: 11
打印 上一主题 下一主题

[应用] 简单的拼音输入法 [复制链接]

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-08 20:28 |只看该作者 |倒序浏览
无聊时实现了一下拼音输入法,仅仅是简单的学习了一下,没做太深

  1. 1    /**
  2.      2     * @file main.c
  3.      3     * @brief an  simple ime, just for Study (in LGPL)
  4.      4     * @author CU T-bagwell
  5.      5     * @date 2010-01-08
  6.      6     */
  7.      7   
  8.      8    #include<stdio.h>
  9.      9    #include <string.h>
  10.     10    #include <locale.h>
  11.     11    #include <assert.h>
  12.     12    #include <stdlib.h>
  13.     13    #include<unistd.h>
  14.     14    #include<sys/stat.h>
  15.     15    #include<sys/types.h>
  16.     16    #include<fcntl.h>
  17.     17    #include<errno.h>
  18.     18    char *py_ime (char *);
  19.     19    char input_string[10];
  20.     20   
  21.     21    /*
  22.     22     * name get_font
  23.     23     * brief get font from hzk and print on screen
  24.     24     *
  25.     25     * */
  26.     26    int get_font (unsigned char first, unsigned char second)
  27.     27    {
  28.     28        int i, j, k;
  29.     29        unsigned char incode[3];
  30.     30        unsigned char qh, wh;
  31.     31        unsigned long offset;
  32.     32        qh = first - 0xa0;
  33.     33        wh = second - 0xa0;
  34.     34        offset = (94 * (qh - 1) + (wh - 1)) * 32;
  35.     35        FILE * HZK;
  36.     36        char *mat = (char *) malloc (32);
  37.     37        if (!mat){
  38.     38            printf ("can't malloc memory\n");
  39.     39            return 0;
  40.     40        }
  41.     41        memset (mat, 0, 32);
  42.     42        if ((HZK = fopen ("./HZK16", "rb")) == NULL){
  43.     43            printf ("Can't    Open    hzk16\n");
  44.     44            exit (0);
  45.     45        }
  46.     46        fseek (HZK, offset, SEEK_SET);
  47.     47        fread (mat, 32, 1, HZK);
  48.     48        for (j = 0; j < 16; j++){
  49.     49            for (i = 0; i < 2; i++){
  50.     50                for (k = 0; k < 8; k++){
  51.     51                    if (j == 7);
  52.     52                    if (((mat[j * 2 + i] >> (7 - k)) & 0x1) != 0){
  53.     53                        printf ("x");
  54.     54                    }
  55.     55                    else{
  56.     56                        printf (" ");
  57.     57                    }
  58.     58                }
  59.     59            }
  60.     60            printf ("\n");
  61.     61        }
  62.     62        fclose (HZK);
  63.     63        if (mat)
  64.     64            free (mat);
  65.     65    }
  66.     66   
  67.     67    int main ()
  68.     68    {
  69.     69        char ch[10];
  70.     70        int i = 0;
  71.     71        int ret = 0;
  72.     72        int loop = 0;
  73.     73        int num = 0;
  74.     74        char chinese_string[255];
  75.     75        wchar_t array[1024];
  76.     76        unsigned char tmp_ch[2];
  77.     77        char *string_for_chinese;
  78.     78        memset (input_string, 0, 10);
  79.     79   
  80.     80        setlocale (LC_ALL, "zh_CN.gb2312");
  81.     81        while (1)
  82.     82   
  83.     83        {
  84.     84            printf("Please input:");
  85.     85            scanf("%s", ch);
  86.     86            string_for_chinese = py_ime(ch);
  87.     87            if(!string_for_chinese){
  88.     88                goto LOOPS;
  89.     89            }
  90.     90            sprintf (chinese_string, "%s", string_for_chinese);
  91.     91            assert (chinese_string);
  92.     92            assert (array);
  93.     93   
  94.     94            if ((ret =mbstowcs (array, chinese_string, strlen (chinese_string))) == -1){
  95.     95                printf ("error\n");
  96.     96            }
  97.     97   
  98.     98            for (loop = 0, num = 0; loop < ret; ++loop, num ++){
  99.     99                memset(tmp_ch, 0, 2);
  100.    100                tmp_ch[0] = chinese_string[num];
  101.    101                num++;
  102.    102                tmp_ch[1] = chinese_string[num];
  103.    103                printf("-----------------------------------------------------\n");
  104.    104                get_font(tmp_ch[0], tmp_ch[1]);
  105.    105            }
  106.    106            i++;
  107.    107   
  108.    108    LOOPS:        
  109.    109            memset(ch, 0, 10);
  110.    110            sleep (4);
  111.    111        }
  112.    112        return 0;
  113.    113    }
  114.    114   
  115.    115   
复制代码

下面是关键部分
  1. 1 /**
  2.   2  * @file py.c
  3.   3  * @brief this is the chinese mb (input table)
  4.   4  * @author CU T-bagwell
  5.   5  * @date 2010-01-08
  6.   6  */
  7.   7
  8.   8 #include<string.h>
  9.   9
  10. 10 #include<stdio.h>
  11. 11
  12. 12 struct index
  13. 13 {
  14. 14     char *py;
  15. 15     char *mb;
  16. 16 };
  17. 17
  18. 18 char  mb_a[]     ={"阿啊"};
  19. 19 char  mb_ai[]    ={"哎哀唉埃挨皑癌矮蔼艾爱隘碍"};
  20. 20 char  mb_an[]    ={"安氨鞍俺岸按案胺暗"};
  21. 21 char  mb_ang[]   ={"肮昂盎"};
  22. 22 char  mb_ao[]    ={"凹敖熬翱袄傲奥澳懊"};
  23. 23 char  mb_ba[]    ={"八巴叭扒吧芭疤捌笆拔跋把靶坝爸罢霸"};
  24. 24 char  mb_bai[]   ={"白百佰柏摆败拜稗"};
  25. 25 char  mb_ban[]   ={"扳班般颁斑搬板版办半伴扮拌绊瓣"};
  26. 26 char  mb_bang[]  ={"邦帮梆绑榜膀蚌傍棒谤磅镑"};
  27. 27 char  mb_bao[]   ={"包苞胞褒雹宝饱保堡报抱豹鲍暴爆剥薄瀑"};
  28. 28 char  mb_bei[]   ={"卑杯悲碑北贝狈备背钡倍被惫焙辈"};
  29. 29 char  mb_ben[]   ={"奔本苯笨夯"};
  30. 30 char  mb_beng[]  ={"崩绷甭泵迸蹦"};
  31. 31 char  mb_bi[]    ={"逼鼻比彼笔鄙币必毕闭庇毖陛毙敝痹蓖弊碧蔽壁避臂"};
  32. 32 char  mb_bian[]  ={"边编鞭贬扁卞便变遍辨辩辫"};
  33. 33 char  mb_biao[]  ={"彪标膘表"};
  34. 34 char  mb_bie[]   ={"憋鳖别瘪"};
  35. 35 char  mb_bin[]   ={"宾彬斌滨濒摈"};
  36. 36 char  mb_bing[]  ={"冰兵丙秉柄炳饼并病"};
  37. 37 char  mb_bo[]    ={"拨波玻钵脖菠播伯驳帛泊勃铂舶博渤搏箔膊卜"};
  38. 38 char  mb_bu[]    ={"补哺捕不布步怖部埠簿"};
  39. 39 char  mb_ca[]    ={"擦"};
  40. 40 char  mb_cai[]   ={"猜才材财裁采彩睬踩菜蔡"};
  41. 41 char  mb_can[]   ={"参餐残蚕惭惨灿"};
  42. 42 char  mb_cang[]  ={"仓沧苍舱藏"};
  43. 43 char  mb_cao[]   ={"操糙曹槽草"};
  44. 44 char  mb_ce[]    ={"册侧厕测策"};
  45. 45 char  mb_ceng[]  ={"层蹭曾"};
  46. 46 char  mb_cha[]   ={"叉插查茬茶搽察碴岔诧差刹"};
  47. 47 char  mb_chai[]  ={"拆柴豺"};
  48. 48 char  mb_chan[]  ={"掺搀谗馋缠蝉产铲阐颤"};
  49. 49 char  mb_chang[] ={"昌猖肠尝偿常厂场敞畅倡唱"};
  50. 50 char  mb_chao[]  ={"抄钞超巢朝嘲潮吵炒绰"};
  51. 51 char  mb_che[]   ={"车扯彻掣撤澈"};
  52. 52 char  mb_chen[]  ={"郴尘臣忱沉辰陈晨衬趁"};
  53. 53 char  mb_cheng[] ={"称撑成呈承诚城乘惩程澄橙逞骋秤"};
  54. 54 char  mb_chi[]   ={"吃痴弛池驰迟持尺侈齿耻斥赤炽翅"};
  55. 55 char  mb_chong[] ={"充冲虫崇宠"};
  56. 56 char  mb_chou[]  ={"抽仇绸畴愁稠筹酬踌丑瞅臭"};
  57. 57 char  mb_chu[]   ={"出初除厨滁锄雏橱躇础储楚处搐触矗畜"};
  58. 58 char  mb_chuai[] ={"揣"};
  59. 59 char  mb_chuan[] ={"川穿传船椽喘串"};
  60. 60 char  mb_chuang[]={"闯疮窗床创"};
  61. 61 char  mb_chui[]  ={"吹炊垂捶锤"};
  62. 62 char  mb_chun[]  ={"春椿纯唇淳醇蠢"};
  63. 63 char  mb_chuo[]  ={"戳"};
  64. 64 char  mb_ci[]    ={"疵词茨瓷慈辞磁雌此次刺赐"};
  65. 65 char  mb_cong[]  ={"囱从匆葱聪丛"};
  66. 66 char  mb_cou[]   ={"凑"};
  67. 67 char  mb_cu[]    ={"粗促醋簇"};
  68. 68 char  mb_cuan[]  ={"蹿窜篡"};
  69. 69 char  mb_cui[]   ={"崔催摧脆淬瘁粹翠"};
  70. 70 char  mb_cun[]   ={"村存寸"};
  71. 71 char  mb_cuo[]   ={"搓磋撮挫措错"};
  72. 72 char  mb_da[]    ={"搭达答瘩打大"};
  73. 73 char  mb_dai[]   ={"呆歹傣代带待怠殆贷袋逮戴"};
  74. 74 char  mb_dan[]   ={"丹单担耽郸胆掸旦但诞弹惮淡蛋氮"};
  75. 75 char  mb_dang[]  ={"当挡党荡档"};
  76. 76 char  mb_dao[]   ={"刀导岛倒捣祷蹈到悼盗道稻"};
  77. 77 char  mb_de[]    ={"得德的"};
  78. 78 char  mb_deng[]  ={"灯登蹬等邓凳瞪"};
  79. 79 char  mb_di[]    ={"低堤滴狄迪敌涤笛嫡底抵地弟帝递第缔蒂"};
  80. 80 char  mb_dian[]  ={"掂滇颠典点碘电佃甸店垫惦淀奠殿靛"};
  81. 81 char  mb_diao[]  ={"刁叼凋碉雕吊钓掉"};
  82. 82 char  mb_die[]   ={"爹跌迭谍叠碟蝶"};
  83. 83 char  mb_ding[]  ={"丁叮盯钉顶鼎订定锭"};
  84. 84 char  mb_diu[]   ={"丢"};
  85. 85 char  mb_dong[]  ={"东冬董懂动冻侗恫栋洞"};
  86. 86 char  mb_dou[]   ={"都兜斗抖陡豆逗痘"};
  87. 87 char  mb_du[]    ={"督毒读犊独堵赌睹妒杜肚度渡镀"};
  88. 88 char  mb_duan[]  ={"端短段断缎锻"};
  89. 89 char  mb_dui[]   ={"堆队对兑"};
  90. 90 char  mb_dun[]   ={"吨敦墩蹲盾钝顿遁"};
  91. 91 char  mb_duo[]   ={"多哆夺掇朵垛躲剁堕舵惰跺"};
  92. 92 char  mb_e[]     ={"讹俄娥峨鹅蛾额厄扼恶饿鄂遏"};
  93. 93 char  mb_en[]    ={"恩"};
  94. 94 char  mb_er[]    ={"儿而尔耳洱饵二贰"};
  95. 95 char  mb_fa[]    ={"发乏伐罚阀筏法珐"};
  96. 96 char  mb_fan[]   ={"帆番翻藩凡矾钒烦樊繁反返犯泛饭范贩"};
  97. 97 char  mb_fang[]  ={"方坊芳防妨房肪仿访纺放"};
  98. 98 char  mb_fei[]   ={"飞非啡菲肥匪诽吠废沸肺费"};
  99. 99 char  mb_fen[]   ={"分吩纷芬氛酚坟汾焚粉份奋忿愤粪"};
  100. 100 char  mb_feng[]  ={"丰风枫封疯峰烽锋蜂冯逢缝讽凤奉"};
  101. 101 char  mb_fo[]    ={"佛"};
  102. 102 char  mb_fou[]   ={"否"};
  103. 103 char  mb_fu[]    ={"夫肤孵敷弗伏扶拂服俘氟浮涪符袱幅福辐抚甫府斧俯釜辅腑腐父讣付妇负附咐阜复赴副傅富赋缚腹覆"};
  104. 104 char  mb_ga[]    ={"嘎噶"};
  105. 105 char  mb_gai[]   ={"该改钙盖溉概"};
  106. 106 char  mb_gan[]   ={"干甘杆肝柑竿秆赶敢感赣"};
  107. 107 char  mb_gang[]  ={"冈刚岗纲肛缸钢港杠"};
  108. 108 char  mb_gao[]   ={"皋羔高膏篙糕搞稿镐告"};
  109. 109 char  mb_ge[]    ={"戈疙哥胳鸽割搁歌阁革格葛隔个各铬咯"};
  110. 110 char  mb_gei[]   ={"给"};
  111. 111 char  mb_gen[]   ={"根跟"};
  112. 112 char  mb_geng[]  ={"更庚耕羹埂耿梗"};
  113. 113 char  mb_gong[]  ={"工弓公功攻供宫恭躬龚巩汞拱共贡"};
  114. 114 char  mb_gou[]   ={"勾沟钩狗苟构购垢够"};
  115. 115 char  mb_gu[]    ={"估咕姑孤沽菇辜箍古谷股骨蛊鼓固故顾雇"};
  116. 116 char  mb_gua[]   ={"瓜刮剐寡挂褂"};
  117. 117 char  mb_guai[]  ={"乖拐怪"};
  118. 118 char  mb_guan[]  ={"关观官冠棺馆管贯惯灌罐"};
  119. 119 char  mb_guang[] ={"光广逛"};
  120. 120 char  mb_gui[]   ={"归圭龟规闺硅瑰轨诡癸鬼刽柜贵桂跪"};
  121. 121 char  mb_gun[]   ={"辊滚棍"};
  122. 122 char  mb_guo[]   ={"郭锅国果裹过"};
  123. 123 char  mb_ha[]    ={"蛤哈"};
  124. 124 char  mb_hai[]   ={"孩骸海亥骇害氦"};
  125. 125 char  mb_han[]   ={"酣憨含邯函涵寒韩罕喊汉汗旱悍捍焊憾撼翰"};
  126. 126 char  mb_hang[]  ={"杭航行"};
  127. 127 char  mb_hao[]   ={"毫豪嚎壕好郝号浩耗"};
  128. 128 char  mb_he[]    ={"呵喝禾合何和河阂核荷涸盒菏贺褐赫鹤"};
  129. 129 char  mb_hei[]   ={"黑嘿"};
  130. 130 char  mb_hen[]   ={"痕很狠恨"};
  131. 131 char  mb_heng[]  ={"亨哼恒横衡"};
  132. 132 char  mb_hong[]  ={"轰哄烘弘红宏洪虹鸿"};
  133. 133 char  mb_hou[]   ={"侯喉猴吼后厚候"};
  134. 134 char  mb_hu[]    ={"乎呼忽弧狐胡壶湖葫瑚糊蝴虎唬互户护沪"};
  135. 135 char  mb_hua[]   ={"花华哗滑猾化划画话"};
  136. 136 char  mb_huai[]  ={"怀徊淮槐坏"};
  137. 137 char  mb_huan[]  ={"欢还环桓缓幻宦唤换涣患焕痪豢"};
  138. 138 char  mb_huang[] ={"荒慌皇凰黄惶煌蝗磺簧恍晃谎幌"};
  139. 139 char  mb_hui[]   ={"灰恢挥辉徽回蛔悔卉汇会讳绘诲烩贿晦秽惠毁慧"};
  140. 140 char  mb_hun[]   ={"昏荤婚浑魂混"};
  141. 141 char  mb_huo[]   ={"豁活火伙或货获祸惑霍"};
  142. 142 char  mb_ji[]    ={"讥击饥圾机肌鸡迹姬积基绩缉畸箕稽激及吉汲级即极急疾棘集嫉辑籍几己挤脊计记伎纪妓忌技际剂季既济继寂寄悸祭
  143.     蓟冀藉"};
  144. 143 char  mb_jia[]   ={"加夹佳枷家嘉荚颊甲贾钾价驾架假嫁稼挟"};
  145. 144 char  mb_jian[]  ={"奸尖坚歼间肩艰兼监笺缄煎拣俭柬茧捡减剪检硷简碱见件建饯剑荐贱健涧舰渐溅践鉴键箭"};
  146. 145 char  mb_jiang[] ={"江姜将浆僵疆讲奖桨蒋匠降酱"};
  147. 146 char  mb_jiao[]  ={"交郊娇浇骄胶椒焦蕉礁角狡绞饺矫脚铰搅剿缴叫轿较教窖酵觉嚼"};
  148. 147 char  mb_jie[]   ={"阶皆接秸揭街节劫杰洁结捷睫截竭姐解介戒芥届界疥诫借"};
  149. 148 char  mb_jin[]   ={"巾今斤金津筋襟仅紧谨锦尽劲近进晋浸烬禁靳"};
  150. 149 char  mb_jing[]  ={"京经茎荆惊晶睛粳兢精鲸井颈景警净径痉竞竟敬靖境静镜"};
  151. 150 char  mb_jiong[] ={"炯窘"};
  152. 151 char  mb_jiu[]   ={"纠究揪九久灸玖韭酒旧臼咎疚厩救就舅"};
  153. 152 char  mb_ju[]    ={"居拘狙驹疽鞠局桔菊咀沮举矩句巨拒具炬俱剧惧据距锯聚踞"};
  154. 153 char  mb_juan[]  ={"娟捐鹃卷倦绢眷"};
  155. 154 char  mb_jue[]   ={"撅决诀抉绝倔掘爵攫"};
  156. 155 char  mb_jun[]   ={"军君均钧菌俊郡峻浚骏竣"};
  157. 156 char  mb_ka[]    ={"咖喀卡"};
  158. 157 char  mb_kai[]   ={"开揩凯慨楷"};
  159. 158 char  mb_kan[]   ={"槛刊勘堪坎砍看"};
  160. 159 char  mb_kang[]  ={"康慷糠扛亢抗炕"};
  161. 160 char  mb_kao[]   ={"考拷烤靠"};
  162. 161 char  mb_ke[]    ={"坷苛柯科棵颗磕壳咳可渴克刻客课"};
  163. 162 char  mb_ken[]   ={"肯垦恳啃"};
  164. 163 char  mb_keng[]  ={"吭坑"};
  165. 164 char  mb_kong[]  ={"空孔恐控"};
  166. 165 char  mb_kou[]   ={"抠口扣寇"};
  167. 166 char  mb_ku[]    ={"枯哭窟苦库裤酷"};
  168. 167 char  mb_kua[]   ={"夸垮挎胯跨"};
  169. 168 char  mb_kuai[]  ={"块快侩筷"};
  170. 169 char  mb_kuan[]  ={"宽款"};
  171. 170 char  mb_kuang[] ={"匡筐狂况旷矿框眶"};
  172. 171 char  mb_kui[]   ={"亏岿盔窥奎葵魁傀愧溃馈"};
  173. 172 char  mb_kun[]   ={"坤昆捆困"};
  174. 173 char  mb_kuo[]   ={"扩括阔廓"};
  175. 174 char  mb_la[]    ={"垃拉啦喇腊蜡辣"};
  176. 175 char  mb_lai[]   ={"来莱赖"};
  177. 176 char  mb_lan[]   ={"兰拦栏婪阑蓝谰澜篮览揽缆懒烂滥"};
  178. 177 char  mb_lang[]  ={"郎狼廊琅榔朗浪"};
  179. 178 char  mb_lao[]   ={"捞劳牢老佬姥涝烙酪"};
  180. 179 char  mb_le[]    ={"乐勒了"};
  181. 180 char  mb_lei[]   ={"雷镭垒磊蕾儡肋泪类累擂"};
  182. 181 char  mb_leng[]  ={"棱楞冷"};
  183. 182 char  mb_li[]    ={"厘梨狸离莉犁漓璃黎篱礼李里哩理鲤力历厉立吏丽利励沥例隶俐荔栗砾粒傈痢"};
  184. 183 char  mb_lian[]  ={"连帘怜涟莲联廉镰敛脸练炼恋链"};
  185. 184 char  mb_liang[] ={"俩良凉梁粮粱两亮谅辆晾量"};
  186. 185 char  mb_liao[]  ={"潦辽疗聊僚寥廖撩燎镣料撂"};
  187. 186 char  mb_lie[]   ={"列劣烈猎裂"};
  188. 187 char  mb_lin[]   ={"邻林临淋琳霖磷鳞凛吝赁拎"};
  189. 188 char  mb_ling[]  ={"伶灵岭玲凌铃陵羚菱零龄领令另"};
  190. 189 char  mb_liu[]   ={"溜刘流留琉硫馏榴瘤柳六"};
  191. 190 char  mb_long[]  ={"龙咙笼聋隆窿陇垄拢"};
  192. 191 char  mb_lou[]   ={"娄楼搂篓陋漏"};
  193. 192 char  mb_lu[]    ={"露卢庐芦炉颅卤虏掳鲁陆录赂鹿禄碌路戮潞麓"};
  194. 193 char  mb_luan[]  ={"孪峦挛滦卵乱"};
  195. 194 char  mb_lue[]   ={"掠略"};
  196. 195 char  mb_lun[]   ={"抡仑伦沦纶轮论"};
  197. 196 char  mb_luo[]   ={"罗萝逻锣箩骡螺裸洛络骆落"};
  198. 197 char  mb_lv[]    ={"滤驴吕侣旅铝屡缕履律虑率绿氯"};
  199. 198 char  mb_ma[]    ={"妈麻马玛码蚂骂吗嘛"};
  200. 199 char  mb_mai[]   ={"埋买迈麦卖脉"};
  201. 200 char  mb_man[]   ={"蛮馒瞒满曼谩慢漫蔓"};
  202. 201 char  mb_mang[]  ={"忙芒盲茫莽氓"};
  203. 202 char  mb_mao[]   ={"猫毛矛茅锚卯铆茂冒贸帽貌"};
  204. 203 char  mb_me[]    ={"么"};
  205. 204 char  mb_mei[]   ={"没枚玫眉梅媒煤酶霉每美镁妹昧媚寐"};
  206. 205 char  mb_men[]   ={"门闷们"};
  207. 206 char  mb_meng[]  ={"萌盟檬猛蒙锰孟梦"};
  208. 207 char  mb_mi[]    ={"弥迷谜醚糜靡米眯泌觅秘密幂蜜"};
  209. 208 char  mb_mian[]  ={"眠绵棉免勉娩冕缅面"};
  210. 209 char  mb_miao[]  ={"苗描瞄秒渺藐妙庙"};
  211. 210 char  mb_mie[]   ={"灭蔑"};
  212. 211 char  mb_min[]   ={"民皿抿闽悯敏"};
  213. 212 char  mb_ming[]  ={"名明鸣铭螟命"};
  214. 213 char  mb_miu[]   ={"谬"};
  215. 214 char  mb_mo[]    ={"貉摸摹模膜摩磨蘑魔抹末沫陌莫寞漠墨默"};
  216. 215 char  mb_mou[]   ={"牟谋某"};
  217. 216 char  mb_mu[]    ={"母亩牡姆拇木目牧募墓幕睦慕暮穆"};
  218. 217 char  mb_na[]    ={"拿哪那纳娜钠呐"};
  219. 218 char  mb_nai[]   ={"乃奶氖奈耐"};
  220. 219 char  mb_nan[]   ={"男南难"};
  221. 220 char  mb_nang[]  ={"囊"};
  222. 221 char  mb_nao[]   ={"挠恼脑闹淖"};
  223. 222 char  mb_ne[]    ={"呢"};
  224. 223 char  mb_nei[]   ={"内馁"};
  225. 224 char  mb_nen[]   ={"嫩"};
  226. 225 char  mb_neng[]  ={"能"};
  227. 226 char  mb_ni[]    ={"妮尼泥倪霓你拟逆匿溺腻"};
  228. 227 char  mb_nian[]  ={"拈年捻撵碾念蔫"};
  229. 228 char  mb_niang[] ={"娘酿"};
  230. 229 char  mb_niao[]  ={"鸟尿"};
  231. 230 char  mb_nie[]   ={"捏涅聂啮镊镍孽"};
  232. 231 char  mb_nin[]   ={"您"};
  233. 232 char  mb_ning[]  ={"宁拧狞柠凝泞"};
  234. 233 char  mb_niu[]   ={"牛扭纽钮"};
  235. 234 char  mb_nong[]  ={"农浓脓弄"};
  236. 235 char  mb_nu[]    ={"奴努怒"};
  237. 236 char  mb_nuan[]  ={"暖"};
  238. 237 char  mb_nue[]   ={"疟虐"};
  239. 238 char  mb_nuo[]   ={"挪诺懦糯"};
  240. 239 char  mb_nv[]    ={"女"};
  241. 240 char  mb_o[]     ={"哦"};
  242. 241 char  mb_ou[]    ={"欧殴鸥呕偶藕沤"};
  243. 242 char  mb_pa[]    ={"趴啪爬耙琶帕怕"};
  244. 243 char  mb_pai[]   ={"拍徘排牌派湃"};
  245. 244 char  mb_pan[]   ={"潘攀盘磐判叛盼畔"};
  246. 245 char  mb_pang[]  ={"乓庞旁耪胖"};
  247. 246 char  mb_pao[]   ={"抛刨咆炮袍跑泡"};
  248. 247 char  mb_pei[]   ={"呸胚陪培赔裴沛佩配"};
  249. 248 char  mb_pen[]   ={"喷盆"};
  250. 249 char  mb_peng[]  ={"抨砰烹朋彭棚硼蓬鹏澎篷膨捧碰"};
  251. 250 char  mb_pi[]    ={"辟批坯披砒劈霹皮毗疲啤琵脾匹痞屁僻譬"};
  252. 251 char  mb_pian[]  ={"片偏篇骗"};
  253. 252 char  mb_piao[]  ={"漂飘瓢票"};
  254. 253 char  mb_pie[]   ={"撇瞥"};
  255. 254 char  mb_pin[]   ={"拼贫频品聘"};
  256. 255 char  mb_ping[]  ={"乒平评凭坪苹屏瓶萍"};
  257. 256 char  mb_po[]    ={"坡泼颇婆迫破粕魄"};
  258. 257 char  mb_pou[]   ={"剖"};
  259. 258 char  mb_pu[]    ={"脯仆扑铺莆菩葡蒲朴圃埔浦普谱曝"};
  260. 259 char  mb_qi[]    ={"七沏妻柒凄栖戚期欺漆祁齐其奇歧祈脐崎畦骑棋旗乞企岂启起气讫迄弃汽泣契砌器"};
  261. 260 char  mb_qia[]   ={"掐恰洽"};
  262. 261 char  mb_qian[]  ={"千仟扦迁钎牵铅谦签前钱钳乾潜黔浅遣谴欠堑嵌歉"};
  263. 262 char  mb_qiang[] ={"呛羌枪腔强墙蔷抢"};
  264. 263 char  mb_qiao[]  ={"悄敲锹橇乔侨桥瞧巧俏峭窍翘撬鞘"};
  265. 264 char  mb_qie[]   ={"切茄且怯窃"};
  266. 265 char  mb_qin[]   ={"亲侵钦芹秦琴禽勤擒寝沁"};
  267. 266 char  mb_qing[]  ={"青氢轻倾卿清情晴氰擎顷请庆"};
  268. 267 char  mb_qiong[] ={"穷琼"};
  269. 268 char  mb_qiu[]   ={"丘邱秋囚求泅酋球"};
  270. 269 char  mb_qu[]    ={"区曲驱屈蛆躯趋渠取娶龋去趣"};
  271. 270 char  mb_quan[]  ={"圈全权泉拳痊醛颧犬劝券"};
  272. 271 char  mb_que[]   ={"炔缺瘸却雀确鹊榷"};
  273. 272 char  mb_qun[]   ={"裙群"};
  274. 273 char  mb_ran[]   ={"然燃冉染"};
  275. 274 char  mb_rang[]  ={"瓤嚷壤攘让"};
  276. 275 char  mb_rao[]   ={"饶扰绕"};
  277. 276 char  mb_re[]    ={"惹热"};
  278. 277 char  mb_ren[]   ={"人仁壬忍刃认任纫妊韧"};
  279. 278 char  mb_reng[]  ={"扔仍"};
  280. 279 char  mb_ri[]    ={"日"};
  281. 280 char  mb_rong[]  ={"戎绒茸荣容溶蓉熔融冗"};
  282. 281 char  mb_rou[]   ={"柔揉肉"};
  283. 282 char  mb_ru[]    ={"如茹儒孺蠕汝乳辱入褥"};
  284. 283 char  mb_ruan[]  ={"阮软"};
  285. 284 char  mb_rui[]   ={"蕊锐瑞"};
  286. 285 char  mb_run[]   ={"闰润"};
  287. 286 char  mb_ruo[]   ={"若弱"};
  288. 287 char  mb_sa[]    ={"撒洒萨"};
  289. 288 char  mb_sai[]   ={"塞腮鳃赛"};
  290. 289 char  mb_san[]   ={"三叁伞散"};
  291. 290 char  mb_sang[]  ={"桑嗓丧"};
  292. 291 char  mb_sao[]   ={"搔骚扫嫂"};
  293. 292 char  mb_se[]    ={"色涩瑟"};
  294. 293 char  mb_sen[]   ={"森"};
  295. 294 char  mb_seng[]  ={"僧"};
  296. 295 char  mb_sha[]   ={"杀沙纱砂莎傻啥煞厦"};
  297. 296 char  mb_shai[]  ={"筛晒"};
  298. 297 char  mb_shan[]  ={"山删杉衫珊煽闪陕汕苫扇善缮擅膳赡栅"};
  299. 298 char  mb_shang[] ={"伤商墒裳晌赏上尚"};
  300. 299 char  mb_shao[]  ={"捎梢烧稍勺芍韶少邵绍哨"};
  301. 300 char  mb_she[]   ={"奢赊舌蛇舍设社射涉赦慑摄"};
  302. 301 char  mb_shen[]  ={"申伸身呻绅娠砷深神沈审婶肾甚渗慎什"};
  303. 302 char  mb_sheng[] ={"升生声牲胜甥绳省圣盛剩"};
  304. 303 char  mb_shi[]   ={"匙尸失师虱诗施狮湿十石时识实拾蚀食史矢使始驶屎士氏世仕市示式事侍势视试饰室恃拭是柿适逝释嗜誓噬似"};
  305. 304 char  mb_shou[]  ={"收手守首寿受兽售授瘦"};
  306. 305 char  mb_shu[]   ={"书抒叔枢殊梳淑疏舒输蔬孰赎熟暑黍署鼠蜀薯曙术戍束述树竖恕庶数墅漱属"};
  307. 306 char  mb_shua[]  ={"刷耍"};
  308. 307 char  mb_shuai[] ={"衰摔甩帅"};
  309. 308 char  mb_shuan[] ={"拴栓"};
  310. 309 char  mb_shuang[]={"双霜爽"};
  311. 310 char  mb_shui[]  ={"谁水税睡"};
  312. 311 char  mb_shun[]  ={"吮顺舜瞬"};
  313. 312 char  mb_shuo[]  ={"说烁朔硕"};
  314. 313 char  mb_si[]    ={"丝司私思斯嘶撕死巳四寺伺饲嗣肆"};
  315. 314 char  mb_song[]  ={"松怂耸讼宋诵送颂"};
  316. 315 char  mb_sou[]   ={"嗽搜艘擞"};
  317. 316 char  mb_su[]    ={"苏酥俗诉肃素速粟塑溯僳"};
  318. 317 char  mb_suan[]  ={"酸蒜算"};
  319. 318 char  mb_sui[]   ={"虽绥隋随髓岁祟遂碎隧穗"};
  320. 319 char  mb_sun[]   ={"孙损笋"};
  321. 320 char  mb_suo[]   ={"唆梭蓑缩所索琐锁"};
  322. 321 char  mb_ta[]    ={"她他它塌塔獭挞踏蹋"};
  323. 322 char  mb_tai[]   ={"胎台抬苔太汰态泰酞"};
  324. 323 char  mb_tan[]   ={"坍贪摊滩瘫坛谈痰谭潭檀坦袒毯叹炭探碳"};
  325. 324 char  mb_tang[]  ={"汤唐堂棠塘搪膛糖倘淌躺烫趟"};
  326. 325 char  mb_tao[]   ={"涛绦掏滔逃桃陶淘萄讨套"};
  327. 326 char  mb_te[]    ={"特"};
  328. 327 char  mb_teng[]  ={"疼腾誊藤"};
  329. 328 char  mb_ti[]    ={"剔梯锑踢啼提题蹄体屉剃涕惕替嚏"};
  330. 329 char  mb_tian[]  ={"天添田恬甜填腆舔"};
  331. 330 char  mb_tiao[]  ={"调挑条迢眺跳"};
  332. 331 char  mb_tie[]   ={"贴铁帖"};
  333. 332 char  mb_ting[]  ={"厅汀听烃廷亭庭停挺艇"};
  334. 333 char  mb_tong[]  ={"通同彤桐铜童酮瞳统捅桶筒痛"};
  335. 334 char  mb_tou[]   ={"偷头投透"};
  336. 335 char  mb_tu[]    ={"凸秃突图徒涂途屠土吐兔"};
  337. 336 char  mb_tuan[]  ={"湍团"};
  338. 337 char  mb_tui[]   ={"推颓腿退蜕褪"};
  339. 338 char  mb_tun[]   ={"囤吞屯臀"};
  340. 339 char  mb_tuo[]   ={"托拖脱驮陀驼鸵妥椭拓唾"};
  341. 340 char  mb_wa[]    ={"哇娃挖洼蛙瓦袜"};
  342. 341 char  mb_wai[]   ={"歪外"};
  343. 342 char  mb_wan[]   ={"弯湾豌丸完玩顽烷宛挽晚婉惋皖碗万腕"};
  344. 343 char  mb_wang[]  ={"汪亡王网往枉妄忘旺望"};
  345. 344 char  mb_wei[]   ={"危威微巍为韦围违桅唯惟维潍伟伪尾纬苇委萎卫未位味畏胃尉谓喂渭蔚慰魏"};
  346. 345 char  mb_wen[]   ={"温瘟文纹闻蚊吻紊稳问"};
  347. 346 char  mb_weng[]  ={"翁嗡瓮"};
  348. 347 char  mb_wo[]    ={"挝涡窝蜗我沃卧握斡"};
  349. 348 char  mb_wu[]    ={"乌污呜巫屋诬钨无毋吴吾芜梧五午伍坞武侮捂舞勿务戊物误悟晤雾"};
  350. 349 char  mb_xi[]    ={"夕汐西吸希昔析矽息牺悉惜烯硒晰犀稀溪锡熄熙嘻膝习席袭媳檄洗喜戏系细隙"};
  351. 350 char  mb_xia[]   ={"虾瞎匣侠峡狭暇辖霞下吓夏"};
  352. 351 char  mb_xian[]  ={"铣仙先纤掀锨鲜闲弦贤咸涎舷衔嫌显险县现线限宪陷馅羡献腺"};
  353. 352 char  mb_xiang[] ={"乡相香厢湘箱襄镶详祥翔享响想向巷项象像橡"};
  354. 353 char  mb_xiao[]  ={"宵消萧硝销霄嚣淆小晓孝肖哮效校笑啸"};
  355. 354 char  mb_xie[]   ={"些楔歇蝎协邪胁斜谐携鞋写泄泻卸屑械谢懈蟹"};
  356. 355 char  mb_xin[]   ={"心忻芯辛欣锌新薪信衅"};
  357. 356 char  mb_xing[]  ={"兴星惺猩腥刑邢形型醒杏姓幸性"};
  358. 357 char  mb_xiong[] ={"凶兄匈汹胸雄熊"};
  359. 358 char  mb_xiu[]   ={"宿休修羞朽秀绣袖锈嗅"};
  360. 359 char  mb_xu[]    ={"戌须虚嘘需墟徐许旭序叙恤绪续酗婿絮蓄吁"};
  361. 360 char  mb_xuan[]  ={"轩宣喧玄悬旋选癣绚眩"};
  362. 361 char  mb_xue[]   ={"削靴薛穴学雪血"};
  363. 362 char  mb_xun[]   ={"勋熏寻巡旬驯询循训讯汛迅逊殉"};
  364. 363 char  mb_ya[]    ={"丫压呀押鸦鸭牙芽蚜崖涯衙哑雅亚讶"};
  365. 364 char  mb_yan[]   ={"咽烟淹焉阉延严言岩沿炎研盐阎蜒颜奄衍掩眼演厌彦砚唁宴艳验谚堰焰雁燕"};
  366. 365 char  mb_yang[]  ={"央殃秧鸯扬羊阳杨佯疡洋仰养氧痒样漾"};
  367. 366 char  mb_yao[]   ={"侥妖腰邀尧姚窑谣摇遥瑶咬舀药要耀钥"};
  368. 367 char  mb_ye[]    ={"椰噎爷耶也冶野业叶曳页夜掖液腋"};
  369. 368 char  mb_yi[]    ={"一伊衣医依铱壹揖仪夷沂宜姨胰移遗颐疑彝乙已以矣蚁倚椅义亿忆艺议亦屹异役抑译邑易绎诣疫益谊翌逸意溢肄裔毅
  370.     翼臆"};
  371. 369 char  mb_yin[]   ={"因阴姻茵荫音殷吟寅淫银尹引饮隐印"};
  372. 370 char  mb_ying[]  ={"应英婴缨樱鹰迎盈荧莹萤营蝇赢颖影映硬"};
  373. 371 char  mb_yo[]    ={"哟"};
  374. 372 char  mb_yong[]  ={"佣拥痈庸雍臃永咏泳勇涌恿蛹踊用"};
  375. 373 char  mb_you[]   ={"优忧幽悠尤由犹邮油铀游友有酉又右幼佑诱釉"};
  376. 374 char  mb_yu[]    ={"迂淤渝于予余盂鱼俞娱渔隅愉逾愚榆虞舆与宇屿羽雨禹语玉驭芋育郁狱峪浴预域欲喻寓御裕遇愈誉豫"};
  377. 375 char  mb_yuan[]  ={"冤鸳渊元员园垣原圆袁援缘源猿辕远苑怨院愿"};
  378. 376 char  mb_yue[]   ={"曰约月岳悦阅跃粤越"};
  379. 377 char  mb_yun[]   ={"云匀郧耘允陨孕运晕酝韵蕴"};
  380. 378 char  mb_za[]    ={"匝杂砸咋"};
  381. 379 char  mb_zai[]   ={"灾哉栽宰载再在仔"};
  382. 380 char  mb_zan[]   ={"咱攒暂赞"};
  383. 381 char  mb_zang[]  ={"赃脏葬"};
  384. 382 char  mb_zao[]   ={"遭糟凿早枣蚤澡藻灶皂造噪燥躁"};
  385. 383 char  mb_ze[]    ={"则择泽责"};
  386. 384 char  mb_zei[]   ={"贼"};
  387. 385 char  mb_zen[]   ={"怎"};
  388. 386 char  mb_zeng[]  ={"增憎赠"};
  389. 387 char  mb_zha[]   ={"喳渣扎札轧闸铡眨乍诈炸榨柞"};
  390. 388 char  mb_zhai[]  ={"斋摘宅翟窄债寨"};
  391. 389 char  mb_zhan[]  ={"沾毡粘詹瞻斩展盏崭辗占战栈站绽湛蘸"};
  392. 390 char  mb_zhang[] ={"长张章彰漳樟涨掌丈仗帐杖胀账障瘴"};
  393. 391 char  mb_zhao[]  ={"招昭找沼召兆赵照罩肇爪"};
  394. 392 char  mb_zhe[]   ={"遮折哲蛰辙者锗这浙蔗着"};
  395. 393 char  mb_zhen[]  ={"贞针侦珍真砧斟甄臻诊枕疹阵振镇震帧"};
  396. 394 char  mb_zheng[] ={"争征怔挣狰睁蒸拯整正证郑政症"};
  397. 395 char  mb_zhi[]   ={"之支汁芝吱枝知织肢脂蜘执侄直值职植殖止只旨址纸指趾至志制帜治炙质峙挚秩致掷痔窒智滞稚置"};
  398. 396 char  mb_zhong[] ={"中忠终盅钟衷肿种仲众重"};
  399. 397 char  mb_zhou[]  ={"州舟诌周洲粥轴肘帚咒宙昼皱骤"};
  400. 398 char  mb_zhu[]   ={"朱诛株珠诸猪蛛竹烛逐主拄煮嘱瞩住助注贮驻柱祝著蛀筑铸"};
  401. 399 char  mb_zhua[]  ={"抓"};
  402. 400 char  mb_zhuai[] ={"拽"};
  403. 401 char  mb_zhuan[] ={"专砖转撰篆"};
  404. 402 char  mb_zhuang[]={"妆庄桩装壮状幢撞"};
  405. 403 char  mb_zhui[]  ={"追椎锥坠缀赘"};
  406. 404 char  mb_zhun[]  ={"谆准"};
  407. 405 char  mb_zhuo[]  ={"卓拙捉桌灼茁浊酌啄琢"};
  408. 406 char  mb_zi[]    ={"孜兹咨姿资淄滋籽子紫滓字自渍"};
  409. 407 char  mb_zong[]  ={"宗综棕踪鬃总纵"};
  410. 408 char  mb_zou[]   ={"邹走奏揍"};
  411. 409 char  mb_zu[]    ={"租足卒族诅阻组祖"};
  412. 410 char  mb_zuan[]  ={"赚纂钻"};
  413. 411 char  mb_zui[]   ={"嘴最罪醉"};
  414. 412 char  mb_zun[]   ={"尊遵"};
  415. 413 char  mb_zuo[]   ={"昨左佐作坐座做"};
  416. 414 char  mb_space[] ={""};
  417.   415   
  418.    416    struct index    index_a[]={
  419.    417        {"", mb_a},
  420.    418        {"i", mb_ai},
  421.    419        {"n", mb_an},
  422.    420        {"ng", mb_ang},
  423.    421        {"o", mb_ao},
  424.    422        NULL, NULL};
  425.    423    struct index    index_b[]={
  426.    424        {"a", mb_ba},
  427.    425        {"ai", mb_bai},
  428.    426        {"an", mb_ban},
  429.    427        {"ang", mb_bang},
  430.    428        {"ao", mb_bao},
  431.    429        {"ei", mb_bei},
  432.    430        {"en", mb_ben},
  433.    431        {"eng", mb_beng},
  434.    432        {"i", mb_bi},
  435.    433        {"ian", mb_bian},
  436.    434        {"iao", mb_biao},
  437.    435        {"ie", mb_bie},
  438.    436        {"in", mb_bin},
  439.    437        {"ing", mb_bing},
  440.    438        {"o", mb_bo},
  441.    439        {"u", mb_bu}};
  442.    440    struct index    index_c[]={
  443.    441        {"a", mb_ca},
  444.    442        {"ai", mb_cai},
  445.    443        {"an", mb_can},
  446.    444        {"ang", mb_cang},
  447.    445        {"ao", mb_cao},
  448.    446        {"e", mb_ce},
  449.    447        {"eng", mb_ceng},
  450.    448        {"ha", mb_cha},
  451.    449        {"hai", mb_chai},
  452.    450        {"han", mb_chan},
  453.    451        {"hang", mb_chang},
  454.    452        {"hao", mb_chao},
  455.    453        {"he", mb_che},
  456.    454        {"hen", mb_chen},
  457.    455        {"heng", mb_cheng},
  458.    456        {"hi", mb_chi},
  459.    457        {"hong", mb_chong},
  460.    458        {"hou", mb_chou},
  461.    459        {"hu", mb_chu},
  462.    460        {"huai", mb_chuai},
  463.    461        {"huan", mb_chuan},
  464.    462        {"huang", mb_chuang},
  465.    463        {"hui", mb_chui},
  466.    464        {"hun", mb_chun},
  467.    465        {"huo", mb_chuo},
  468.    466        {"i", mb_ci},
  469.    467        {"ong", mb_cong},
  470.    468        {"ou", mb_cou},
  471.    469        {"u", mb_cu},
  472.    470        {"uan", mb_cuan},
  473.    471        {"ui", mb_cui},
  474.    472        {"un", mb_cun},
  475.    473        {"uo", mb_cuo}};
  476.    474    struct index    index_d[]={
  477.    475        {"a", mb_da},
  478.    476        {"ai", mb_dai},
  479.    477        {"an", mb_dan},
  480.    478        {"ang", mb_dang},
  481.    479        {"ao", mb_dao},
  482.    480        {"e", mb_de},
  483.    481        {"eng", mb_deng},
  484.    482        {"i", mb_di},
  485.    483        {"ian", mb_dian},
  486.    484        {"iao", mb_diao},
  487.    485        {"ie", mb_die},
  488.    486        {"ing", mb_ding},
  489.    487        {"iu", mb_diu},
  490.    488        {"ong", mb_dong},
  491.    489        {"ou", mb_dou},
  492.    490        {"u", mb_du},
  493.    491        {"uan", mb_duan},
  494.    492        {"ui", mb_dui},
  495.    493        {"un", mb_dun},
  496.    494        {"uo", mb_duo}};
  497.    495    struct index    index_e[]={
  498.    496        {"", mb_e},
  499.    497        {"n", mb_en},
  500.    498        {"r", mb_er}};
  501.    499    struct index    index_f[]={
  502.    500        {"a", mb_fa},
  503.    501        {"an", mb_fan},
  504.    502        {"ang", mb_fang},
  505.    503        {"ei", mb_fei},
  506.    504        {"en", mb_fen},
  507.    505        {"eng", mb_feng},
  508.    506        {"o", mb_fo},
  509.    507        {"ou", mb_fou},
  510.    508        {"u", mb_fu}};
  511.    509    struct index    index_g[]={
  512.    510        {"a", mb_ga},
  513.    511        {"ai", mb_gai},
  514.    512        {"an", mb_gan},
  515.    513        {"ang", mb_gang},
  516.    514        {"ao", mb_gao},
  517.    515        {"e", mb_ge},
  518.    516        {"ei", mb_gei},
  519.    517        {"en", mb_gan},
  520.    518        {"eng", mb_geng},
  521.    519        {"ong", mb_gong},
  522.    520        {"ou", mb_gou},
  523.    521        {"u", mb_gu},
  524.    522        {"ua", mb_gua},
  525.    523        {"uai", mb_guai},
  526.    524        {"uan", mb_guan},
  527.    525        {"uang", mb_guang},
  528.    526        {"ui", mb_gui},
  529.    527        {"un", mb_gun},
  530.    528        {"uo", mb_guo}};
  531.    529    struct index    index_h[]={
  532.    530        {"a", mb_ha},
  533.    531        {"ai", mb_hai},
  534.    532        {"an", mb_han},
  535.    533        {"ang", mb_hang},
  536.    534        {"ao", mb_hao},
  537.    535        {"e", mb_he},
  538.    536        {"ei", mb_hei},
  539.    537        {"en", mb_hen},
  540.    538        {"eng", mb_heng},
  541.    539        {"ong", mb_hong},
  542.    540        {"ou", mb_hou},
  543.    541        {"u", mb_hu},
  544.    542        {"ua", mb_hua},
  545.    543        {"uai", mb_huai},
  546.    544        {"uan", mb_huan},
  547.    545        {"uang ", mb_huang},
  548.    546        {"ui", mb_hui},
  549.    547        {"un", mb_hun},
  550.    548        {"uo", mb_huo}};
  551.    549    struct index    index_i[]=
  552.    550    {"", mb_space};
  553.    551    struct index    index_j[]={
  554.    552        {"i", mb_ji},
  555.    553        {"ia", mb_jia},
  556.    554        {"ian", mb_jian},
  557.    555        {"iang", mb_jiang},
  558.    556        {"iao", mb_jiao},
  559.    557        {"ie", mb_jie},
  560.    558        {"in", mb_jin},
  561.    559        {"ing", mb_jing},
  562.    560        {"iong", mb_jiong},
  563.    561        {"iu", mb_jiu},
  564.    562        {"u", mb_ju},
  565.    563        {"uan", mb_juan},
  566.    564        {"ue", mb_jue},
  567.    565        {"un", mb_jun}};
  568.    566    struct index    index_k[]={
  569.    567        {"a", mb_ka},
  570.    568        {"ai", mb_kai},
  571.    569        {"an", mb_kan},
  572.    570        {"ang", mb_kang},
  573.    571        {"ao", mb_kao},
  574.    572        {"e", mb_ke},
  575.    573        {"en", mb_ken},
  576.    574        {"eng", mb_keng},
  577.    575        {"ong", mb_kong},
  578.    576        {"ou", mb_kou},
  579.    577        {"u", mb_ku},
  580.    578        {"ua", mb_kua},
  581.    579        {"uai", mb_kuai},
  582.    580        {"uan", mb_kuan},
  583.    581        {"uang", mb_kuang},
  584.    582        {"ui", mb_kui},
  585.    583        {"un", mb_kun},
  586.    584        {"uo", mb_kuo}};
  587.    585    struct index    index_l[]={
  588.    586        {"a", mb_la},
  589.    587        {"ai", mb_lai},
  590.    588        {"an", mb_lan},
  591.    589        {"ang", mb_lang},
  592.    590        {"ao", mb_lao},
  593.    591        {"e", mb_le},
  594.    592        {"ei", mb_lei},
  595.    593        {"eng", mb_leng},
  596.    594        {"i", mb_li},
  597.    595        {"ian", mb_lian},
  598.    596        {"iang", mb_liang},
  599.    597        {"iao", mb_liao},
  600.    598        {"ie", mb_lie},
  601.    599        {"in", mb_lin},
  602.    600        {"ing", mb_ling},
  603.    601        {"iu", mb_liu},
  604.    602        {"ong", mb_long},
  605.    603        {"ou", mb_lou},
  606.    604        {"u", mb_lu},
  607.    605        {"uan", mb_luan},
  608.    606        {"ue", mb_lue},
  609.    607        {"un", mb_lun},
  610.    608        {"uo", mb_luo},
  611.    609        {"v", mb_lv}};
  612.    610    struct index    index_m[]={
  613.    611        {"a", mb_ma},
  614.    612        {"ai", mb_mai},
  615.    613        {"an", mb_man},
  616.    614        {"ang", mb_mang},
  617.    615        {"ao", mb_mao},
  618.    616        {"e", mb_me},
  619.    617        {"ei", mb_mei},
  620.    618        {"en", mb_men},
  621.    619        {"eng", mb_meng},
  622.    620        {"i", mb_mi},
  623.    621        {"ian", mb_mian},
  624.    622        {"iao", mb_miao},
  625.    623        {"ie", mb_mie},
  626.    624        {"in", mb_min},
  627.    625        {"ing", mb_ming},
  628.    626        {"iu", mb_miu},
  629.    627        {"o", mb_mo},
  630.    628        {"ou", mb_mou},
  631.    629        {"u", mb_mu}};
  632.    630    struct index    index_n[]={
  633.    631        {"a", mb_na},
  634.    632        {"ai", mb_nai},
  635.    633        {"an", mb_nan},
  636.    634        {"ang", mb_nang},
  637.    635        {"ao", mb_nao},
  638.    636        {"e", mb_ne},
  639.    637        {"ei", mb_nei},
  640.    638        {"en", mb_nen},
  641.    639        {"eng", mb_neng},
  642.    640        {"i", mb_ni},
  643.    641        {"ian", mb_nian},
  644.    642        {"iang", mb_niang},
  645.    643        {"iao", mb_niao},
  646.    644        {"ie", mb_nie},
  647.    645        {"in", mb_nin},
  648.    646        {"ing", mb_ning},
  649.    647        {"iu", mb_niu},
  650.    648        {"ong", mb_nong},
  651.    649        {"u", mb_nu},
  652.    650        {"uan", mb_nuan},
  653.    651        {"ue", mb_nue},
  654.    652        {"uo", mb_nuo},
  655.    653        {"v", mb_nv}};
  656.    654    struct index    index_o[]={
  657.    655        {"", mb_o},
  658.    656        {"u", mb_ou}};
  659.    657    struct index    index_p[]={
  660.    658        {"a", mb_pa},
  661.    659        {"ai", mb_pai},
  662.    660        {"an", mb_pan},
  663.    661        {"ang", mb_pang},
  664.    662        {"ao", mb_pao},
  665.    663        {"ei", mb_pei},
  666.    664        {"en", mb_pen},
  667.    665        {"eng", mb_peng},
  668.    666        {"i", mb_pi},
  669.    667        {"ian", mb_pian},
  670.    668        {"iao", mb_piao},
  671.    669        {"ie", mb_pie},
  672.    670        {"in", mb_pin},
  673.    671        {"ing", mb_ping},
  674.    672        {"o", mb_po},
  675.    673        {"ou", mb_pou},
  676.    674        {"u", mb_pu}};
  677.    675    struct index    index_q[]={
  678.    676        {"i", mb_qi},
  679.    677        {"ia", mb_qia},
  680.    678        {"ian", mb_qian},
  681.    679        {"iang", mb_qiang},
  682.    680        {"iao", mb_qiao},
  683.    681        {"ie", mb_qie},
  684.    682        {"in", mb_qin},
  685.    683        {"ing", mb_qing},
  686.    684        {"iong", mb_qiong},
  687.    685        {"iu", mb_qiu},
  688.    686        {"u", mb_qu},
  689.    687        {"uan", mb_quan},
  690.    688        {"ue", mb_que},
  691.    689        {"un", mb_qun}};
  692.    690    struct index    index_r[]={
  693.    691        {"an", mb_ran},
  694.    692        {"ang", mb_rang},
  695.    693        {"ao", mb_rao},
  696.    694        {"e", mb_re},
  697.    695        {"en", mb_ren},
  698.    696        {"eng", mb_reng},
  699.    697        {"i", mb_ri},
  700.    698        {"ong", mb_rong},
  701.    699        {"ou", mb_rou},
  702.    700        {"u", mb_ru},
  703.    701        {"uan", mb_ruan},
  704.    702        {"ui", mb_rui},
  705.    703        {"un", mb_run},
  706.    704        {"uo", mb_ruo}};
  707.    705    struct index    index_s[]={
  708.    706        {"a", mb_sa},
  709.    707        {"ai", mb_sai},
  710.    708        {"an", mb_san},
  711.    709        {"ang", mb_sang},
  712.    710        {"ao", mb_sao},
  713.    711        {"e", mb_se},
  714.    712        {"en", mb_sen},
  715.    713        {"eng", mb_seng},
  716.    714        {"ha", mb_sha},
  717.    715        {"hai", mb_shai},
  718.    716        {"han", mb_shan},
  719.    717        {"hang ", mb_shang},
  720.    718        {"hao", mb_shao},
  721.    719        {"he", mb_she},
  722.    720        {"hen", mb_shen},
  723.    721        {"heng", mb_sheng},
  724.    722        {"hi", mb_shi},
  725.    723        {"hou", mb_shou},
  726.    724        {"hu", mb_shu},
  727.    725        {"hua", mb_shua},
  728.    726        {"huai", mb_shuai},
  729.    727        {"huan", mb_shuan},
  730.    728        {"huang", mb_shuang},
  731.    729        {"hui", mb_shui},
  732.    730        {"hun", mb_shun},
  733.    731        {"huo", mb_shuo},
  734.    732        {"i", mb_si},
  735.    733        {"ong", mb_song},
  736.    734        {"ou", mb_sou},
  737.    735        {"u", mb_su},
  738.    736        {"uan", mb_suan},
  739.    737        {"ui", mb_sui},
  740.    738        {"un", mb_sun},
  741.    739        {"uo", mb_suo}};
  742.    740    struct index    index_t[]={
  743.    741        {"a", mb_ta},
  744.    742        {"ai", mb_tai},
  745.    743        {"an", mb_tan},
  746.    744        {"ang", mb_tang},
  747.    745        {"ao", mb_tao},
  748.    746        {"e", mb_te},
  749.    747        {"eng", mb_teng},
  750.    748        {"i", mb_ti},
  751.    749        {"ian", mb_tian},
  752.    750        {"iao", mb_tiao},
  753.    751        {"ie", mb_tie},
  754.    752        {"ing", mb_ting},
  755.    753        {"ong", mb_tong},
  756.    754        {"ou", mb_tou},
  757.    755        {"u", mb_tu},
  758.    756        {"uan", mb_tuan},
  759.    757        {"ui", mb_tui},
  760.    758        {"un", mb_tun},
  761.    759        {"uo", mb_tuo}};
  762.    760    struct index    index_u[]={{"", mb_space}};
  763.    761    struct index    index_v[]={{"", mb_space}};
  764.    762    struct index    index_w[]={
  765.    763        {"a", mb_wa},
  766.    764        {"ai", mb_wai},
  767.    765        {"an", mb_wan},
  768.    766        {"ang", mb_wang},
  769.    767        {"ei", mb_wei},
  770.    768        {"en", mb_wen},
  771.    769        {"eng", mb_weng},
  772.    770        {"o", mb_wo},
  773.    771        {"u", mb_wu}};
  774.    772    struct index    index_x[]={
  775.    773        {"i", mb_xi},
  776.    774        {"ia", mb_xia},
  777.    775        {"ian", mb_xiao},
  778.    776        {"iang", mb_xiang},
  779.    777        {"iao", mb_xiao},
  780.    778        {"ie", mb_xie},
  781.    779        {"in", mb_xin},
  782.    780        {"ing", mb_xing},
  783.    781        {"iong", mb_xiong},
  784.    782        {"iu", mb_xiu},
  785.    783        {"u", mb_xu},
  786.    784        {"uan", mb_xuan},
  787.    785        {"ue", mb_xue},
  788.    786        {"un", mb_xun}};
  789.    787    struct index    index_y[]={
  790.    788        {"a", mb_ya},
  791.    789        {"an", mb_yan},
  792.    790        {"ang", mb_yang},
  793.    791        {"ao", mb_yao},
  794.    792        {"e", mb_ye},
  795.    793        {"i", mb_yi},
  796.    794        {"in", mb_yin},
  797.    795        {"ing", mb_ying},
  798.    796        {"o", mb_yo},
  799.    797        {"ong", mb_yong},
  800.    798        {"ou", mb_you},
  801.    799        {"u", mb_yu},
  802.    800        {"uan", mb_yuan},
  803.    801        {"ue", mb_yue},
  804.    802        {"un", mb_yun}};
  805.    803    struct index    index_z[]={
  806.    804        {"a", mb_za},
  807.    805        {"ai", mb_zai},
  808.    806        {"an", mb_zan},
  809.    807        {"ang", mb_zang},
  810.    808        {"ao", mb_zao},
  811.    809        {"e", mb_ze},
  812.    810        {"ei", mb_zei},
  813.    811        {"en", mb_zen},
  814.    812        {"eng", mb_zeng},
  815.    813        {"ha", mb_zha},
  816.    814        {"hai", mb_zhai},
  817.    815        {"han", mb_zhan},
  818.    816        {"hang", mb_zhang},
  819.    817        {"hao", mb_zhao},
  820.    818        {"he", mb_zhe},
  821.    819        {"hen", mb_zhen},
  822.    820        {"heng", mb_zheng},
  823.    821        {"hi", mb_zhi},
  824.    822        {"hong", mb_zhong},
  825.    823        {"hou", mb_zhou},
  826.    824        {"hu", mb_zhu},
  827.    825        {"hua", mb_zhua},
  828.    826        {"huai", mb_zhuai},
  829.    827        {"huan", mb_zhuan},
  830.    828        {"huang", mb_zhuang},
  831.    829        {"hui", mb_zhui},
  832.    830        {"hun", mb_zhun},
  833.    831        {"huo", mb_zhuo},
  834.    832        {"i", mb_zi},
  835.    833        {"ong", mb_zong},
  836.    834        {"ou", mb_zou},
  837.    835        {"u", mb_zu},
  838.    836        {"uan", mb_zuan},
  839.    837        {"ui", mb_zui},
  840.    838        {"un", mb_zun},
  841.    839        {"uo", mb_zuo}};
  842.    840    struct index    index_end[]={"", mb_space};
  843.    841   
  844.    842    struct index   * index_headletter[]={
  845.    843         index_a,
  846.    844         index_b,
  847.    845         index_c,
  848.    846         index_d,
  849.    847         index_e,
  850.    848         index_f,
  851.    849         index_g,
  852.    850         index_h,
  853.    851         index_i,
  854.    852         index_j,
  855.    853         index_k,
  856.    854         index_l,
  857.    855         index_m,
  858.    856         index_n,
  859.    857         index_o,
  860.    858         index_p,
  861.    859         index_q,
  862.    860         index_r,
  863.    861         index_s,
  864.    862         index_t,
  865.    863         index_u,
  866.    864         index_v,
  867.    865         index_w,
  868.    866         index_x,
  869.    867         index_y,
  870.    868         index_z,
  871.    869         index_end};
  872.    870   
  873.    871    char * py_ime(char *str)
  874.    872    {
  875.    873        struct index *hz,*edge;
  876.    874        char i,length;
  877.    875        int k=0;
  878.    876        length=strlen(str);
  879.    877   
  880.    878        if(*str=='\0') return NULL;
  881.    879   
  882.    880        for(i=0;i<length;i++)
  883.    881            *(str+i)|=0x20;  
  884.    882   
  885.    883        if(*str=='i' || *str=='u' || *str=='v')
  886.    884            return NULL;
  887.    885   
  888.    886        hz= index_headletter[str[0]-'a'];
  889.    887        edge= index_headletter[str[0]-'a'+1];
  890.    888   
  891.    889        str++;     
  892.    890        while(hz<edge){
  893.    891            for(i=0;i<length;i++){
  894.    892                k++;
  895.    893                if(*(str+i)!=*(hz->py+i)){
  896.    894                    break;
  897.    895                }
  898.    896            }
  899.    897            if(i==length){
  900.    898                return (*hz).mb;
  901.    899            }
  902.    900            hz++;
  903.    901        }
  904.    902        return NULL;   
  905.    903    }
复制代码

[ 本帖最后由 T-Bagwell 于 2010-1-8 20:31 编辑 ]

评分

参与人数 1可用积分 +30 收起 理由
bitmilong + 30 原创内容

查看全部评分

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2010-01-08 20:32 |只看该作者

  1. [root@localhost ime]# ./main
  2. Please input:ban
  3. 1
  4. 2
  5. 3
  6. 4
  7. 5
  8. 6
  9. 7
  10. -----------------------------------------------------
  11.    x        x   
  12.    x       xxx  
  13.    x   xxxx     
  14.    x   x        
  15. xxxxxx x        
  16.    x   xxxxxxx  
  17.    x   x     x  
  18.    x x x x  x   
  19.    xx  x x  x   
  20.   xx   x x x   
  21. xx x   x  xx   
  22.    x  x   x     
  23.    x  x  x x   
  24.    x x  x   xxx
  25. x xx  x     x  
  26.   x            
  27. -----------------------------------------------------
  28.        x        
  29.     x  x     x  
  30. xxxxxx x xxxxxx
  31.   x    x   x   
  32.   x  x x   x   
  33.   x  x x   x   
  34.   x  x x   x   
  35. xxxx x x xxxxx  
  36.   x  x x   x   
  37.   x x  x   x   
  38.   x    x   x   
  39.   x   x    x   
  40.   xxx x    x   
  41. xxx   x    x x  
  42. x   x  xxxxxxx
  43.     x           
  44. -----------------------------------------------------
  45.     x       x   
  46.    x  x  xxxxx  
  47.   xxxxxx x  x   
  48.   x   x  x  x   
  49.   xx  x  x  x   
  50.   x x x x    xx
  51.   x   x         
  52. xxxxxxx xxxxxx  
  53.   x   x  x   x  
  54.   xx  x  x  x   
  55.   x x x   x x   
  56.   x   x    x   
  57.   x   x   xx   
  58.   x   x  x  x   
  59. x  x x x   xxx
  60. x    x x     x  
  61. -----------------------------------------------------
  62.              x  
  63.   x x xxxxxxxxx
  64.   x x     x     
  65.   x  x   x   x  
  66. x   x xxxxxxxx
  67. x    xx     x  
  68. x    x x  x  x  
  69. xxxxxxx  x  x  
  70.   x  x x  x  x  
  71.   x  x x  x  x  
  72.   x  x x  x  x  
  73.   x  x x  x  x  
  74.   x  x   x x   
  75.   x  x   x  x   
  76. x  xx  x    xx
  77. x     xx      x
  78. -----------------------------------------------------
  79.                
  80.    x  x      x  
  81. xxxxx  x xxxxxx
  82.   x        x   
  83.   x xxxxxx x   
  84.   x        x   
  85.   x  x  x  x   
  86. xxxxx x xxxxxx  
  87.   x    x   x   
  88.   x    x   x   
  89.   x   x x  x   
  90.   x   x  x x   
  91.   xxxx   x x   
  92. xxx  x     x x  
  93. x  x   xxxxxxx
  94.                
  95. -----------------------------------------------------
  96.   x    x     x  
  97.   x   x   xxxxx
  98.   x  xxxx x  x  
  99.   x  x  x x  x  
  100. xxxxxxx x x  x  
  101.   x  x xx x  x  
  102.   x  x  xx    x
  103.   x xxxxx xxxx  
  104.   xx x  x x  x  
  105. xxx  xx x x  x  
  106.   x  x xx x  x  
  107.   x  x  x  xx   
  108.   x  x  x   x   
  109.   x x   x  x x  
  110. x xx  x x x  x  
  111. x     x x    x
  112. -----------------------------------------------------
  113.    x        x   
  114.    x       xxx  
  115.    x   xxxx     
  116.    x   x        
  117. xxxxxx x        
  118.    x   xxxxxxx  
  119.   xx   x     x  
  120.   xxx  x x  x   
  121. x x x x x  x   
  122. x x   x x x   
  123. x  x   x  xx   
  124.    x  x   x     
  125.    x  x  x x   
  126.    x x  x   xxx
  127.    xx  x     x  
  128.    x            
  129. -----------------------------------------------------
  130.     x       x   
  131. x  x      xxx  
  132. x  x  xxxx     
  133. x  x  x        
  134. x  x  x        
  135. xxxxx xxxxxxx  
  136. x     x     x  
  137. x     x x  x   
  138. xxxx  x x  x   
  139. x  x  x x x   
  140. x  x  x  xx   
  141. x  x x   x     
  142. x  x x  x x   
  143. x  xx  x   xxx
  144. x   x  x     x  
  145.     x           
  146. -----------------------------------------------------
  147.       x         
  148.       x         
  149.       x         
  150.       x   x     
  151.   xxxxxxxxxx   
  152.       x   x     
  153.       x   x     
  154.    x  x   xx   
  155.   xx  x   x xx  
  156.   x   x   x  xx
  157. x   x    x   x
  158. x    x    x     
  159.     x     x     
  160.    x    x x     
  161.   x      x      
  162.                
  163. -----------------------------------------------------
  164.        x        
  165.   x    x    x   
  166.    xx  x   xx   
  167.     x  x  x     
  168.        x        
  169.   xxxxxxxxxxx   
  170.        x        
  171.        x        
  172.        x     x  
  173. xxxxxxxxxxxxxxx
  174.        x        
  175.        x        
  176.        x        
  177.        x        
  178.        x        
  179.        x        
  180. -----------------------------------------------------
  181.     x    x      
  182.     x    x      
  183.     x x  x  x   
  184.    x   x x x   
  185.    x     x      
  186.   xx xxxxxxxxx  
  187.   xx     x      
  188. x x     x      
  189. x  x     x   x  
  190.    xxxxxxxxxxxx
  191.    x     x      
  192.    x     x      
  193.    x     x      
  194.    x     x      
  195.    x     x      
  196.    x     x      
  197. -----------------------------------------------------
  198.    x      x     
  199.    x    x x     
  200.    x    x x     
  201.    x    x  x   
  202. xxxxxx x   x   
  203.    x   x    xxx
  204.    x  x      x  
  205.    xxx      x   
  206.   xx  xxxxxxxx  
  207. xx x    x   x   
  208.    x    x   x   
  209.    x    x   x   
  210.    x   x    x   
  211.    x   x    x   
  212. x x  x   x x   
  213.   x  x     x   
  214. -----------------------------------------------------
  215.    x     x      
  216.    x     x      
  217.    x  x  x  x   
  218.    x   x x x   
  219. xxxxxx   x      
  220.    x  xxxxxxxx  
  221.    x x   x      
  222.    xx    x      
  223.   xx     x   x  
  224. xx x xxxxxxxxxx
  225.    x     x      
  226.    x     x      
  227.    x     x      
  228.    x     x      
  229. x x     x      
  230.   x      x      
  231. -----------------------------------------------------
  232.    x      x     
  233.    x      x     
  234.   x    x  x  x  
  235.   x     x x xx  
  236. x   x  x xx   
  237. xxxxx     x x   
  238.    x   xxxxxxx  
  239.   x       x     
  240. x        x     
  241. xxxxxx    x  x  
  242.       xxxxxxxxx
  243.           x     
  244.    xxx    x     
  245. xxx       x     
  246. x        x     
  247.           x     
  248. -----------------------------------------------------
  249. x         x   
  250.   x      x  x   
  251. xxxxx   x xxxxx
  252.      xxx x      
  253. x x x   x x x  
  254. x x x x x x x  
  255. xxxxxx x xxxxxx
  256.   x  x x x  x   
  257.   x  x x x  x   
  258.   x  x x x  x   
  259.   xxxx x xxxxxx
  260. xxx  x x x  x   
  261.   x  xx x x x   
  262. x  x xxx  xx   
  263. x  x        x   
  264.             x   
  265. Please input:

复制代码


贴上来走形了,贴个图片

[ 本帖最后由 T-Bagwell 于 2010-1-8 20:35 编辑 ]

Screenshot.png (95.63 KB, 下载次数: 58)

Screenshot.png

论坛徽章:
0
3 [报告]
发表于 2010-01-09 22:53 |只看该作者
T-bag兄太强了.

都没研究过输入法的东西,长风识了.

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
4 [报告]
发表于 2010-01-09 23:08 |只看该作者
业余玩玩而已

论坛徽章:
0
5 [报告]
发表于 2010-01-11 21:49 |只看该作者
附件审核中  呵呵

论坛徽章:
0
6 [报告]
发表于 2011-06-14 00:12 |只看该作者
提示: 该帖被管理员或版主屏蔽

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
7 [报告]
发表于 2011-06-14 08:12 |只看该作者
真牛 原来拼音输入法是这样的啊。长见识了

论坛徽章:
0
8 [报告]
发表于 2011-06-14 18:50 |只看该作者
回复 1# T-Bagwell


    字库的实现如果要树来检索是不是更好了?

论坛徽章:
0
9 [报告]
发表于 2012-09-01 15:02 |只看该作者
原来拼音输入法是这样的啊 学习了

论坛徽章:
0
10 [报告]
发表于 2012-11-16 19:08 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP