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

    一、步驟

    1、理解題意:

  主要是根據(jù)問題的描述,確定問題的已知條件,并了解算法(程序)要達到的目的。通俗講,就是要知道問題的輸入和輸出。

    2、確定算法:

  每個題目在前面都有描述,通過對描述的分析,要確定題目應該屬于哪一類數(shù)據(jù)結構以及相應的算法。有些題目可能不屬于任何數(shù)據(jù)結構,則它可能與某類算法(8類)有關;但也有一些算法純粹是數(shù)學方法。

  在描述中同時要理解算法過程。在分析算法時,可以以某個具體實例來試驗。

    3、理解程序:

  分析程序結構,如果有很多子函數(shù),首先弄清楚各函數(shù)之間的關系和各函數(shù)的作用;如果程序較長,則應該根據(jù)算法過程,把每個程序段與算法的每個過程對應起來,確定相應的程序段功能。

  在程序中,已經(jīng)定義了某些變量,則在理解程序時,首先必須理解這些變量的含義。

    4、根據(jù)C語言的語法填空。

    二、示例

    【示例】2004年上半年程序員下午試題試題六

[函數(shù)說明]

  函數(shù)DelAInsB(LinkedList La,LinkedList lb,int key1,int key2,int len)的功能是,將線性表A中關鍵碼為keyl的結點開始的len個結點,按原順序移至線性表B中關鍵碼為key2的結點之前,若移動成功,則返回0;否則返回-1。線性表的存儲結構為帶頭結點的單鏈表,La為表A的頭指針,Lb為表B的頭指針。單鏈表結點的類型定義為:

  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的結點 */(7)   prep = p;p = p->next;

(8)  }

(9)  if (!p) return -1; /* 表A中不存在鍵值為key1的結點 */

(10)  q = p; k = 1;

(11)  while (q && __(1)__) { /* 在表A中找出待刪除的len個結點 */

(12)   __(2)__; k++;

(13)  }

(14)  if (!q) return -1; /* 表A中不存在要被刪除的len個結點 */

(15)  s = Lb->next; __(3)__;

(16)  while (s && s->key != key2) { /* 查找表B中鍵值為key2的結點 */(17)   pres = s; s = s->next;

(18)  }

(19)  if (!s) return -1; /* 表B中不存在鍵值為key2的結點 */

(20)  __(4)__ =q->next; /* 將表A中的len個結點刪除 */

(21)  q->next= ??(5) ;

(22)  pres->next = p; /* 將len個結點移至表B */

(23)  return 0;

(24)  }

[1] [2] 下一頁

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