- 試題排行
- 最新熱點(diǎn)
- 最新推薦
2
3
4
5
6
7
8
9
10
2008年上半年軟考軟件設(shè)計(jì)師考試試題(上午)
2008年上半年軟考網(wǎng)絡(luò)工程師考試試題(下午)
2008年上半年軟考軟件設(shè)計(jì)師考試試題(下午)
2008年上半年軟件水平考試程序員考試試題(上
2008年下半年軟考網(wǎng)絡(luò)工程師預(yù)測(cè)試題及答案
2008年上半年軟件水平考試程序員考試試題(下
2008下半年軟件水平考試軟件設(shè)計(jì)師押題試卷
08年上半年軟考數(shù)據(jù)庫(kù)系統(tǒng)工程師考試試題(上
2008下半年軟件水平考試程序員模擬試題及答
一、步驟
1、理解題意:
主要是根據(jù)問(wèn)題的描述,確定問(wèn)題的已知條件,并了解算法(程序)要達(dá)到的目的。通俗講,就是要知道問(wèn)題的輸入和輸出。
2、確定算法:
每個(gè)題目在前面都有描述,通過(guò)對(duì)描述的分析,要確定題目應(yīng)該屬于哪一類數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的算法。有些題目可能不屬于任何數(shù)據(jù)結(jié)構(gòu),則它可能與某類算法(8類)有關(guān);但也有一些算法純粹是數(shù)學(xué)方法。
在描述中同時(shí)要理解算法過(guò)程。在分析算法時(shí),可以以某個(gè)具體實(shí)例來(lái)試驗(yàn)。
3、理解程序:
分析程序結(jié)構(gòu),如果有很多子函數(shù),首先弄清楚各函數(shù)之間的關(guān)系和各函數(shù)的作用;如果程序較長(zhǎng),則應(yīng)該根據(jù)算法過(guò)程,把每個(gè)程序段與算法的每個(gè)過(guò)程對(duì)應(yīng)起來(lái),確定相應(yīng)的程序段功能。
在程序中,已經(jīng)定義了某些變量,則在理解程序時(shí),首先必須理解這些變量的含義。
4、根據(jù)C語(yǔ)言的語(yǔ)法填空。
二、示例
【示例】2004年上半年程序員下午試題試題六
[函數(shù)說(shuō)明]
函數(shù)DelAInsB(LinkedList La,LinkedList lb,int key1,int key2,int len)的功能是,將線性表A中關(guān)鍵碼為keyl的結(jié)點(diǎn)開(kāi)始的len個(gè)結(jié)點(diǎn),按原順序移至線性表B中關(guān)鍵碼為key2的結(jié)點(diǎn)之前,若移動(dòng)成功,則返回0;否則返回-1。線性表的存儲(chǔ)結(jié)構(gòu)為帶頭結(jié)點(diǎn)的單鏈表,La為表A的頭指針,Lb為表B的頭指針。單鏈表結(jié)點(diǎn)的類型定義為:
typedef struct node{
int key;
struct node*next;
}*Linkedhist;
[函數(shù)]
(1) int DelllnsB(LinkedLiSt La,LinkedList Lb,int keyl,int key2,int len)
(2) { LinkedList ?p,q,s,prep,pres;
(3) int k;
(4) if (!La->next || !Lb->next || len<=0) return-1;
(5) p = La->next; prep = La;
(6) while (p && p->key != keyl) { /* 查找表A中鍵值為key1的結(jié)點(diǎn) */(7) prep = p;p = p->next;
(8) }
(9) if (!p) return -1; /* 表A中不存在鍵值為key1的結(jié)點(diǎn) */
(10) q = p; k = 1;
(11) while (q && __(1)__) { /* 在表A中找出待刪除的len個(gè)結(jié)點(diǎn) */
(12) __(2)__; k++;
(13) }
(14) if (!q) return -1; /* 表A中不存在要被刪除的len個(gè)結(jié)點(diǎn) */
(15) s = Lb->next; __(3)__;
(16) while (s && s->key != key2) { /* 查找表B中鍵值為key2的結(jié)點(diǎn) */(17) pres = s; s = s->next;
(18) }
(19) if (!s) return -1; /* 表B中不存在鍵值為key2的結(jié)點(diǎn) */
(20) __(4)__ =q->next; /* 將表A中的len個(gè)結(jié)點(diǎn)刪除 */
(21) q->next= ??(5) ;
(22) pres->next = p; /* 將len個(gè)結(jié)點(diǎn)移至表B */
(23) return 0;
(24) }
- 推薦給朋友
- 收藏此頁(yè)
·網(wǎng)絡(luò)工程師資料:網(wǎng)絡(luò)體系結(jié)構(gòu)-軟考網(wǎng)絡(luò)類題解 (2008-4-25 14:33:38)
·計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及優(yōu)缺點(diǎn)分析 (2008-2-22 14:04:32)
·網(wǎng)絡(luò)工程師必知:靜態(tài)路由協(xié)議配置方法 (2008-2-22 14:03:39)
·計(jì)算機(jī)網(wǎng)絡(luò)尼奎斯特 香農(nóng)公式例題解析 (2008-2-22 14:02:35)
·軟考復(fù)習(xí):因特網(wǎng)IP的分類、尋址規(guī)則及子網(wǎng)掩碼 (2008-2-22 13:57:21)
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。