●試題一
閱讀下列算法說明和算法,將應(yīng)填入(n)處的字句寫在答卷的對(duì)應(yīng)欄內(nèi)。
【算法說明】
某英漢詞典文件包含N個(gè)記錄(N>1),每個(gè)記錄有兩個(gè)字段:一個(gè)是英文單詞,另一個(gè)是相應(yīng)的漢語解釋。各個(gè)記錄按英文單詞的詞典順序排列,各英文單詞并不重復(fù)。
本算法用于維護(hù)、更新該英漢詞典文件。維護(hù)、更新的方法是:首先輸入一個(gè)英文單詞及其漢語解釋,然后在該詞典中查找輸入的英文單詞,若找到,則用輸入的漢語解釋更新原有的解釋;若找不到,則需要將輸入的英文單詞及其漢語解釋插入到該詞典的適當(dāng)位置,使各記錄仍按英文單詞的詞典順序排列。
【算法】
第一步讀入英漢詞典文件,并將讀入的N個(gè)英文單詞依次存放在字符串?dāng)?shù)組ENG中,將相應(yīng)的漢語解釋依次存放在字符串?dāng)?shù)組CN中。數(shù)組元素CN(i)給出了數(shù)組元素ENG(i)的解釋。
第二步輸入英文單詞及其漢語解釋,將它們分別存放在字符串變量E和C中。若E為空串或都是空格,則轉(zhuǎn)向第四步。
第三步根據(jù)變量E的值,用二分法在數(shù)組ENG中查找。具體步驟如下:
1.1→L,N→H
2.INT((L+H)/2)→K
3.若E=ENG(K),則C→CN(K),轉(zhuǎn)向第二步
若E
4.若H 對(duì)I=N,L,-1(始值,終值,增量)循環(huán)執(zhí)行: ENG(I)→ENG(I+1) CN(I)→CN(I+1) 然后,將E和C分別存入 (3) 和 (4) ,N+1→N最后轉(zhuǎn)向第二步 否則,轉(zhuǎn)向 (5) 第四步將數(shù)組ENG和CN輸出,形成新的英漢詞典文件,算法結(jié)束。 ●試題二 閱讀以下說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。 【說明】 函數(shù)MultibaseOutput(long n,int B)的功能是:將一個(gè)無符號(hào)十進(jìn)制整數(shù)n轉(zhuǎn)換成B(2≤B≤16)進(jìn)制數(shù)并輸出。該函數(shù)先將轉(zhuǎn)換過程中得到的各位數(shù)字入棧,轉(zhuǎn)換結(jié)束后再把B進(jìn)制數(shù)從棧中輸出。有關(guān)棧操作的諸函數(shù)功能見相應(yīng)函數(shù)中的注釋。C代碼中的符號(hào)常量及棧的類型定義如下: #define MAXSIZE 32 typedef struct{ int *elem;/*棧的存儲(chǔ)區(qū)*/ int max; /*棧的容量,即棧中最多能存放的元素個(gè)數(shù)*/ int top;/*棧頂指針*/ }Stack; 希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>> 更多信息請(qǐng)?jiān)L問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |