查看全部128種考試
軟件水平考試
 考試動(dòng)態(tài) 報(bào)考指南 歷年真題 模擬試題 復(fù)習(xí)資料 心得技巧 專業(yè)英語(yǔ) 技術(shù)文章 軟考論壇 考試用書
 程序員 軟件設(shè)計(jì)師 網(wǎng)絡(luò)管理員 網(wǎng)絡(luò)工程師 系統(tǒng)分析師 數(shù)據(jù)庫(kù)系統(tǒng)工程師
1
2
3
4
5
6
7
8
9
10
ak47  
【字體: 程序員考試下午試題程序填空解題方法
程序員考試下午試題程序填空解題方法
spks.exam8.com 來(lái)源:老頑童 更新:2005-5-12 23:46:00 軟件水平考試 考試論壇

    一、步驟

    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)  }

[1] [2] 下一頁(yè)

轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索  
看了本文的網(wǎng)友還看了:
網(wǎng)友評(píng)論
昵 稱: *  評(píng) 分: 1分 2分 3分 4分 5分
標(biāo)題:   匿名發(fā)表    (共有條評(píng)論)查看全部評(píng)論>>
版權(quán)聲明 -------------------------------------------------------------------------------------
  如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  付款方式  站內(nèi)導(dǎo)航  客服中心  友情鏈接  考試論壇  網(wǎng)站地圖
Copyright © 2004-2008 考試吧軟件水平考試網(wǎng) All Rights Reserved    
中國(guó)科學(xué)院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯(lián)盟黃金認(rèn)證  十佳網(wǎng)絡(luò)教育機(jī)構(gòu)  經(jīng)營(yíng)許可證號(hào):京ICP060677