2001年度程序員級上午試題_第1頁
2001年度程序員級上午試題_第2頁
2001年度程序員級上午試題_第3頁
2001年度程序員級上午試題_第4頁
2001年度程序員級上午試題_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、2001年度程序員級上午試題任一棵樹均可唯一地轉(zhuǎn)換成與它對應(yīng)的二叉樹。由樹轉(zhuǎn)換成的二叉樹中,結(jié)點 N 的左子女是 N 在原樹里對應(yīng)結(jié)點的_(1)_,而 N 的右子女是原樹里對應(yīng)結(jié)點的_(2)_。 在下列二叉樹中,圖一為_(3)_樹,圖二為_(4)_樹,圖三為_(5)_樹。                              

2、;      圖一                    圖二                        圖三(1): A.最

3、左子結(jié)點    B.最右子結(jié)點    C.最鄰近的右兄弟    D.最鄰近的左兄弟(2): A.最左的兄弟    B.晨右的兄弟    C.最鄰近的右兄弟    D.最鄰近的左兄弟(3): A.查找樹        B.滿二叉樹      C.平衡樹但不是滿二叉樹   

4、 D.B+樹(4): A.查找樹        B.滿二叉樹      C.平衡樹但不是滿二叉樹    D.B+樹(5): A.查找樹        B.滿二叉樹      C.平衡樹但不是滿二叉樹    D.B+樹二維數(shù)組 X 的行下標(biāo)范圍是05,列下標(biāo)范圍是18,每個數(shù)組元素占六個字節(jié),則該數(shù)組

5、的體積為_(6)_個字節(jié),若已知 X 的最后一個元素的起始字節(jié)地址為382,則 X 的首地址(即第一個元素的起始字節(jié)地址)為 _(7)_,記為 Xd。若按行存儲,則 X1,5 的起始地址是 _(8)_, 結(jié)束字節(jié)地址是  _(9)_。若按列存儲,則 X4,8的起始字節(jié)地址為_(10)_。(6): A.210             B.240            

6、C.288                 D.294(7): A.0                 B.6                 C.9

7、4                    D.100(8): A.Xd+24         B.Xd+72          C.Xd+78          

8、;    D.Xd+144(9): A.Xd+29         B.Xd+77          C.Xd+83              D.Xd+147(10):A.Xd+186        B.Xd

9、+234        C.Xd+270            D.Xd+276在編譯程序中,語法分析的方法有自底向上分析和自頂向下分析。自底向上分析方法自左向右掃描輸入符號串,通過_(11)_分析其語法是否正確。例如,_(12)_就是一種自底向上的分析方法,與其它自底向上分析方法不同,它是根據(jù)_(13)_來進行歸約的。自頂向下分析方法從文法的開始符號出發(fā),判斷其能否_(14)_出輸入符號串。采用自頂向下分析方法時,

10、要求文法不含有_(15)_。(11):A.歸約一移進     B.移進-移進     C.移進一歸約        D.歸約-歸約(12):A.算符優(yōu)先分析法 B.預(yù)測分析法    C.遞歸子程序分析法  D.LL(1)分析法(13):A.短語            B.素短語  

11、;      C.直接短語          D.句柄。(14):A.歸納             B.歸約            C.推理        &#

12、160;          D.推導(dǎo)(15):A.右遞歸         B.左遞歸        C.直接右遞歸        D.直接左遞歸軟件測試的目的是_(16)_,通??煞譃榘缀袦y試和黑盒測試。白盒測試是根據(jù)程序的_(17)_來設(shè)計測試用例,黑盒測試是根據(jù)軟件的規(guī)格說明來設(shè)計測試用例。常用

13、的黑盒測試方法有邊值分析、等價類劃分、錯誤猜測、因果圖等。其中,_(18)_經(jīng)常與其它方法結(jié)合起來使用。軟件測試的步驟主要有單元測試、集成測試和確認(rèn)測試。如果一個軟件作為產(chǎn)品被許多客戶使用的話,在確認(rèn)測試時通常要經(jīng)過測試和測試的過程。其中,測試是_(19)_進行的一種測試。在軟件設(shè)計和編碼時,采取 _(20)_等措施都有利于提高軟件的可測試性。(16):A.發(fā)現(xiàn)程序中的所有錯誤            B.盡可能多地發(fā)現(xiàn)程序中的錯誤     C.證

14、明程序是正確的                D.證明程序做了應(yīng)做的事(17):A.功能            B.性能          C.內(nèi)部邏輯        D.內(nèi)部數(shù)據(jù)

15、(18):A.邊值分析        B.等價類劃分    C.錯誤猜測        D.因果圖(19):A.在開發(fā)者現(xiàn)場由開發(fā)方的非本項目開發(fā)人員    B.在開發(fā)者現(xiàn)場由用戶     C.在用戶現(xiàn)場由開發(fā)方的非本項目開發(fā)人員      D.在用戶現(xiàn)場由用戶使(20):A.不使用標(biāo)準(zhǔn)文本以外的語句,書寫詳

16、細(xì)正確的文檔     B.不使用標(biāo)準(zhǔn)文本以外的語句,采用良好的程序結(jié)構(gòu)     C.書寫詳細(xì)正確的文檔,信息隱蔽    D.書寫詳細(xì)正確的文檔,采用良好的程序結(jié)構(gòu)視覺上對彩色的感覺有三個特征,反映顏色種類的特征叫_(21)_,     反映顏色深淺程度的叫_(22)_,二者有時通稱為_(23)_,另外還有一個特征叫_(24)_。彩數(shù)(color depth)是指_(25)_,其單位為 bpp。(20):A.色調(diào)   

17、         B.純度            C.反差            D.色差(22):A.色調(diào)            B.亮度    &

18、#160;       C.反差            D.飽和度(23):A.色度            B.純度            C.亮度     &

19、#160;      D.飽和度。(24):A.反差            B.色差            C.亮度            D.純度(25):A.彩色圖片數(shù)    

20、                    B.畫面所允許的不同彩色種數(shù)     C.彩色的數(shù)字編碼                    D.彩色的排序數(shù)分時操作系統(tǒng)的主要特征之一是

21、提高_(26)_。(26):A.計算機系統(tǒng)的可靠性                B.計算機系統(tǒng)的交互性          C.計算機系統(tǒng)的實時性                D.計算機系統(tǒng)的安全性實現(xiàn)不同的作業(yè)處理方

22、式(如:批處理、分時處理、實時處理等),主要是基于操作系統(tǒng)對_(27)_管理采用了不同的策略。(27):A.處理機          B.存儲            C.設(shè)備            D.文件一般說來,用戶可以通過兩類接口請求操作系統(tǒng)的服務(wù),一類是作業(yè)一級的接口(如命令語言,

23、JCL等);另一類是編程接口,即提供一組_(28)_,供實用程序、應(yīng)用程序與用戶程序等請求操作系統(tǒng)的服務(wù)。(28):A.程序編輯        B.特權(quán)操作        C.系統(tǒng)調(diào)用        D.進程調(diào)度通常,文件的邏輯結(jié)構(gòu)可以分為兩大類:無結(jié)構(gòu)的_(29)_和有結(jié)構(gòu)的記錄式文件。_(30)_組織方式,既適合于交互方式應(yīng)用,也適合于批處理方式應(yīng)用。(29):A.堆文件 

24、         B.流式文件        C.索引文件        D.直接(Hash)文件(30):A.堆文件          B.流式文件        C.索引順序文件   

25、D.順序文件相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)聯(lián)系弱、數(shù)據(jù)的不一致性和數(shù)據(jù)的_(31)_。(31):A.可重用性差      B.安全性差        C.非持久性        D.冗余性“年齡在18一25之間,這種約束屬于數(shù)據(jù)庫系統(tǒng)的_(32)_措施。(32):A.原子性          B.一致性&#

26、160;         C.完整性          D.安全性在SQL中,外模式一級數(shù)據(jù)結(jié)構(gòu)的基本單位是_(33)_。(33):A.基本表          B.視圖            C.ER圖  &

27、#160;         D.用戶表在關(guān)系模式R(U)中,如果XY和XZ成立,則XYZ也成立,這條規(guī)則稱為_(34)_。(34):A.自反律          B.增廣律          C.合并律          D.分解律數(shù)據(jù)庫技術(shù)中的“臟

28、數(shù)據(jù)',是指_(35)_的數(shù)據(jù)。(35):A.錯誤            B.回返            C.未提交        D.未提交的隨后又被撤消設(shè)有如下兩個關(guān)系U和V,則U V 運算結(jié)果的元組個數(shù)是 _(36)_,屬性個數(shù)是_(37)_;U V運算結(jié)果的元組個數(shù)是_(38)_,屬性個數(shù)是_

29、(39)_。   2=1U:A B BV:B C D321243654264987807879(36):A.1            B.2            C.3            D.4(37):

30、A.6            B.5            C.4            D.3(38):A.1            B.2 

31、60;          C.3            D.4(39):A.6            B.5            C.4   

32、60;        D.3ER 模型可以轉(zhuǎn)換成關(guān)系模型。當(dāng)兩個實體間聯(lián)系是 M:N 聯(lián)系時,它通??赊D(zhuǎn)換成_(40)_個關(guān)系模式。(40):A.2            B.3            C.M+N        &

33、#160; D.M*N下面是某種計算機的32位短浮點數(shù)格式01          89                                  

34、60;                              31MsEM其中,M為用定點小數(shù)表示的尾數(shù)的絕對值,占23位;Ms是尾數(shù)的符號位,占1位;Ms和M一起表示尾數(shù)。E為用定點整數(shù)表示的階碼,占8位。若機器表示中取階碼的基數(shù)為2,求采用下列五種不同編碼方式時,浮點數(shù)-123625E-3(

35、隱含基數(shù)為10)規(guī)格化后的機器碼:階碼用補碼方式、尾數(shù)用原碼方式時,為_(41)_;階碼用補碼方式、尾數(shù)用反碼方式時,為_(42)_;階碼用移碼方式、尾數(shù)用原碼方式時,為_(43)_;階碼用移碼方式、尾數(shù)用補碼方式時,為_(44)_;階碼用移碼方式、尾數(shù)用反碼方式時,為_(45)_;(41)、(42):A.110000111 00001000l10000000000000           B.100000111 00001000l0ll11111111111   

36、;        C.110000111 11110000l0ll11111111111           D.100000111 111l0ll1010000000000000(43)、(44):A.110000111 11110111010000000000000           B.100000111 0000100

37、0110000000000000           C.110000111 00001000110000000000000           D.100000111 00001000l0ll11111111111      (45):A.110000111 111l0ll1010000000000000   

38、60;       B.100000111 00001000110000000000000           C.100000111 11110000l0ll11111111111           D.110000111 00001000l0ll11111111111設(shè)四位數(shù)P=0110和Q=1010,則下列按位邏輯運算的等價運算及

39、其結(jié)果為:    P Q + P Q = _(46)_;    ( P + Q )( P + Q) = _(47)_;    Q + P Q = _(48)_;                         P( Q + P) = _(49)_;  

40、;  P + P Q R + P Q R = _(50)_其中R為任一個4位的二進位位串。(46)、(47):A.PQ = 1100    B.PQ = 1100     C.PQ = 0011    D.PQ = 0011                       

41、                                   (48)、(49):A.P Q = 0010     B.P + Q = 11l0    C.P Q = 0010  &

42、#160;  D.P + Q = 1110            (50):A.P Q = 1101     B.P + Q = 1101    C.P Q = 0010     D.P + Q = 0010.RS一232-C是_(51)_。現(xiàn)在不少打印機,掃描儀和數(shù)字相機等設(shè)備都通過 USB 接口與主機相連,它是_(52)_,此類應(yīng)用中的傳送速率可達_(53)_。它支持_(5

43、4)_通信,并完全支持_(55)_。(51):A.Modem專用接口    B.打印機接口            C.通用串行數(shù)據(jù)接口        D.通用并行數(shù)據(jù)接口(52):A.通用串行總線    B.通用并行總線            C.SCSI接口

44、                        D.通用卡式接口(53):A.56Kbps                 B.1.5Mbps     

45、0;               C.12Mbps                             D.100Mbps(54):A.同步方式   

46、60;        B.異步方式                    C.同步或異步方式            D.數(shù)據(jù)壓縮方式(55):A.模擬信號輸入、輸出    B.局域網(wǎng)接口  

47、  C.無驅(qū)動程序工作方式    D.即插即用技術(shù)主存DRAM芯片采用_(56)_來保持所存數(shù)據(jù)不丟失。當(dāng)需要擴大容量時,可采用字?jǐn)U展法,它是_(57)_。為提高內(nèi)存數(shù)據(jù)讀取速度采用了不少方法,但_(58)_不屬于這個目的。假設(shè)內(nèi)存存取周期T=200ns,字長64位,數(shù)據(jù)總線寬度64位,總線傳送周期為50ns?,F(xiàn)用4個模塊組成內(nèi)存,并在連續(xù)4個地址中讀出數(shù)據(jù)。如用順序方式組織模塊,則數(shù)據(jù)帶寬為_(59)_。如用交叉存儲方式組織內(nèi)存,則數(shù)據(jù)帶寬可達約_(60)_。(56):A.對讀出數(shù)據(jù)單元的立即刷新    

48、0;   B.定時逐個地址刷新          C.定時成組刷新                                D.確保內(nèi)存電源穩(wěn)定供電(57):A.將新加芯片的地址線,數(shù)

49、據(jù)線和讀/寫控制線與原有芯片相應(yīng)線并接,片選線由地址總線高位控制。     B.將新加芯片的數(shù)據(jù)線,讀/寫控制線和片選線與原有芯片相應(yīng)線并接,地址線接地址總線高位線。     C.將新加芯片的地址線,讀/寫控制線和片選線與原有芯片相應(yīng)線并接,數(shù)據(jù)線接數(shù)據(jù)總線高位線。     D.將新加芯片的地址線,數(shù)據(jù)線和片選線與原有芯片相應(yīng)線并接,讀/寫控制線接控制總線的有關(guān)位線。(58):A.增加高速緩存Cache容量      

50、;    B.改用存取周期短的芯片           C.一次讀出多個字                       D.增加地址總線寬度(59):A.80Mbps     B.320Mbps   

51、  C.640Mbps     D.1280Mbps(60):A.300Mbps    B.500Mbps     C.700Mbps     D.1200Mbps某服務(wù)器的 IP 地址是 74.52.46.99 ,則其機器中二進制的 IP 地址為_(61)_,這是一個屬于_(62)_的 IP 地址。(60):A.01111000010100101000011010011001     

52、     B.00000011110010101010011010011001          C.00000010010l0ll01001011l0ll00011          D.010010100011010000l0ll1001100011(62):A.A類        B.B類 &

53、#160;      C.C類        D.D類有多個設(shè)備可以實現(xiàn)不同網(wǎng)絡(luò)或網(wǎng)段的互連,工作在開放系統(tǒng)互連參考模型物理層、數(shù)據(jù)鏈路和網(wǎng)絡(luò)層的互連設(shè)備分別稱為_(60)_、_(60)_和_(60)_。(63):A.網(wǎng)關(guān)        B.路由器    C.防火墻     D.中繼器(64):A.轉(zhuǎn)發(fā)器   

54、;   B.防火墻    C.網(wǎng)橋       D.網(wǎng)關(guān)(65):A.轉(zhuǎn)發(fā)器      B.路由器    C.網(wǎng)橋       D.中繼器An instruction is made up of operations that _(66)_ the function to be performed and operands that represe

55、nt the data to be operated on .For example ,if an instruction is to perform the operation of _(67)_ two numbers ,it must know _(68)_ the two numbers are .The processor's job is to _(69)_ instructions and operands from memory and to perform each operation .Having done that ,it signals memory to s

56、end it _(70)_ instruction.(66):A. skip         B. smile         C. smoke         D. specify(67):A. add          B. added  

57、60;      C. adding        D. addition(68):A. when         B. where         C. which         D. who(69):A. get  

58、;          B. make           C. push          D. put(70):A. ant            B. last    

59、;       C. next          D. secondsoftware design is a _(71)_ process .It requires a certain _(72)_ of f1air on the part of the designer. Design can not be learned from a book .It must be practiced and learnt by experience an

60、d study of existing systems .A well _(73)_ software system is straightforward to implement and maintain ,easily _(74)_ and reliable .Badly _(73)_ software systems ,although they may work are _(75)_ to be expensive to maintain ,difficult to test and unreliable.(70):A. create    &#

61、160;         B. created              C. creating             D. creative(72):A. amount            &#

62、160; B. amounted         C. mount                   D. mounted(73):A. design       B. designed      C. designing

63、60;     D. designs(74):A. understand   B. understands   C. understanding  D. understood(75):A. like         B. likely        C. unlike       

64、0; D. unlikely2001年度程序員級下午試題試題一閱讀下列程序或函數(shù)說明和 C 代碼,將應(yīng)填入_(n)_處的字句寫在答題紙的對應(yīng)欄內(nèi)。函數(shù)1.1說明函數(shù)strcmp()是比較兩個字符串 s 和 t 的大小。若 s < t 函數(shù)返回負(fù)數(shù);若 s = t 函數(shù)返回0;若 s > t,函數(shù)返回正數(shù)。函數(shù)1.1int strcmp(char *s,char *t) while ( *s && *t && _(1)_)    s+;t+ ;        re

65、turn _(2)_;程序1.2說明在 n 行 n 列的矩陣中,每行都有最大的數(shù),本程序求這 n 個最大數(shù)中的最小一個程序1.2#includestdio.h#define N 100int aNN;void main() int row ,col ,max ,min ,n;    /*輸入合法 n (100 ),和輸入 m ×n 個整數(shù)到數(shù)組 a 的代碼略*/    for ( row = 0;row < n;row+)         for (

66、 max = arow0,col = l ;col < n;col+)            if (_(3)_) max = arowcol;        if (_(4)_) min = max;        else if(_(5)_) min = max;       

67、printf ("The min of max numbers is %dn",min);試題二閱讀下列程序說明和C代碼,將應(yīng)填入_(n)_處的字句寫在答題紙的對應(yīng)欄內(nèi)。程序2說明本程序中的函數(shù) first_insert() 的功能是在已知鏈表的首表元之前插入一個指定值的表元;函數(shù) reverse_copy() 的功能是按已知鏈表復(fù)制出一個新鏈表,但新鏈表的表元鏈接順序與已知鏈表的表元鏈接順序相反;函數(shù) print_link() 用來輸出鏈表中各表元的值;函數(shù) free_link()用來釋放鏈表全部表元空間。程序2#includestdip.h#includemalloc.

68、htypedef struct node int val;        struct node *next; NODE;void first_insert( NODE *p,int v) NODE *q = (NODE *) malloc( sizeof(NODE);    q -> va1 = v;_(1)_; *p = _(2)_;NODE *reverse_copy(NODE *p) NODE *u;    for( u = NULL ; p ; p

69、= p ->next ) first_insert(_(3)_);    return u;void print_link( NODE *p ) for( ;_(4)_) printf ("%dt" , p -> val);    printf("n");void free_link(NODE*p) NODE *u;    while( p != NULL) u=p-next;free( p );_(5)_;void main() NODE *link1

70、 , *link2;int i ;linkl = NULL ;for( i = 1;i <= 10 ; i+ )    first insert( &link1,i );link2 = revere_ copy(link1);print_link(link1);freeJink(linkl);print_link(link2);free_link(link2);試題三閱讀下列程序說明和C代碼,將應(yīng)填入_(n)_處的字句寫在答題紙的對應(yīng)欄內(nèi)。程序3說明本程序從若干個原始文件合并成的合并文件中恢復(fù)出其中一個或全部原始文件。所有文件均作為二進制文件進行處理

71、。合并文件中先順序存儲各原始文件,然后順序存儲各原始文件的控制信息,即文件名、文件長度和在合并文件中的位置(偏移量)。其結(jié)構(gòu)為:typedef stmctchar fnme256;/*原始文件名*/    long length;/*原始文件長度(字節(jié)數(shù))*/    long offset;/*原始文件在合并文件中的位置(偏移量)*/    FileInfo;在合并文件最后存儲如下一個特殊的標(biāo)志信息作為合并文件的結(jié)束標(biāo)記:    F11ek1fo EndF1ag="

72、Combined File".0,_offset;其中_offset是第一個原始文件的控制信息在合并文件中的位置(偏移量)。啟動本程序的命令行的格式是:    程序名    合并文件名原始文件名如果不指定原始文件名,默認(rèn)恢復(fù)合并文件中的所有原始文件。程序中涉及的部分文件操作的庫函數(shù)簡要說明如下:int fread(void *buffer,int size,int count,FILE *fbin):從二進制文件流 fbin 中讀取count塊長度為size字節(jié)的數(shù)據(jù)塊到buffer指向的存儲區(qū)。返回值為實際讀取的數(shù)據(jù)塊數(shù)。

73、int fwrite(void *buffer,int size,int count,FILE *fbin):各參數(shù)和返回值的意義與fread相同,但對文件進行寫操作。int fseek(FILE *fbin,long offset,int position): 將文件流 fbin 的讀/寫位置以 position為基準(zhǔn)移動offset字節(jié)。position的值可以是SEEK_SET(文件頭),SEEK_CUR(當(dāng)前位置),SEEK_END(文件尾);offset為正表示向文件尾方向移動,為負(fù)表示向文件頭方向移動,為零表示到基準(zhǔn)位置。long ftell(FILE *fbin): 返回文件流

74、fbin 的當(dāng)前讀/寫位置(相對于文件頭的偏移量)。上述偏移量均以字節(jié)為單位,即偏移字節(jié)數(shù)。 程序3#includestdio.h#includestring.htypedef structchar fname256;long length;long offset;        FileInfo;void copyfile( FILE *fin, FILE *fout, int fsiz) char buf1024; int siz = 1024 ;    while(fsiz !=

75、 0) /*每次復(fù)制siz個字節(jié),直至復(fù)制完fsiz個字節(jié)*/        if ( siz > fsiz) _(1)_ ;        fread( buf , 1 , siz , fin ) ; fwrite( buf , 1 , siz , fout );        fsiz = _(2)_;    int dofile( FILE *f

76、in , FileInfo *inp ) long offset ;    FILE *fout ;    if ( ( fout = fopen( inp -fname , "wb" ) ) = NULL)         printf ( "創(chuàng)建文件錯誤: %sn" , inp -fname );        return 1 ;  

77、;      offset = _(3)_ ; /*保留合并文件讀/寫位置*/    fseek( _(4)_) ; /*定位于被恢復(fù)文件首*/    copyfile( fin , fout , inp -length ) ;    fclose( fout ) ;    printf( "n-文件名: %n 文件長: %1d.n " , inp -fname , inp -length );  

78、;  _(5)_;     /*恢復(fù)合并文件讀/寫位置*/    return 0 ;int main( int argc ,char *argv ) FileInfo finfo ;    char fname256 ; FILE *fcmbn;    if (argc < 2) printf( "輸入合并文件名:" ) ; scanf( "%s" , fname ) ;    

79、 else strcpy( fname,argv1) ;    if ( ( fcmbn = fopen( fname , "rb" ) ) = NULL)         printf( "文件打開錯誤:%sn" , fname ) ; return 1;        fseek( fcmbn ,-sizeof(FileInfo),SEEK END);/*定位于合并文件末尾的標(biāo)志信息*/

80、60;   fread(&finfo,1,sizeof(FileInfo),fcmbn) ;    if ( finfo.length !=0 | strcmp( finfo.fmane , "CombinedFile" ) )         printf( "指定的文件不是合法的合并文件n" ) ;        fclose( fcmbn ) ; ret

81、urn 2 ;        fseek(fcmbn,finfo.offset,SEEK_SET );/*定位于首個原始文件的控制信息*/    for ( ; ; ) /*恢復(fù)一個(argc > 2) 或全部 ( argc = 2 )原始文件*/        fread( &finfo , 1 , sizeof( FileInfo ) , fCmbn ) ;     &

82、#160;  if ( finfo.length = 0 ) break ;        if ( argc > 2 && strcmp( finfo.fname , argv2 ) ) continue ;        if ( dofile( fcmbn , &finfo ) != 0 ) break ;        fclose( fcmbn )

83、 ; return 0 ;試題四閱讀下列程序說明和C代碼,將應(yīng)填入_(n)_處的字句寫在答題紙的對應(yīng)欄內(nèi)。程序4說明設(shè)一個環(huán)上有編號為 0n-1 的 n 粒不同顏色的珠子(每粒珠子顏色用字母表示, n 粒珠子顏色由輸入的字符串表示)。以環(huán)上某兩粒珠子間為斷點,從斷點一方按順時針方向取走連續(xù)同色的珠子,又從斷點另一方按逆時針方向?qū)κO轮樽尤∽哌B續(xù)同色的珠子,兩者之和為該斷點可取走珠子的粒數(shù)。移動斷點,能取走的珠子數(shù)不盡相同。本程序找出可以取走最多的珠子數(shù)及斷點的位置。程序中用雙向鏈表存儲字符串。例如,編號為0-9的10粒珠子顏色的字符串為“aaabbbadcc",對應(yīng)鏈表為: 

84、;   若在2號與3號珠子間為斷點,共可取走6粒珠子,且為取走的珠子數(shù)最多。程序4#includestdio.h#includestring.h#includemalloc.htypedef struct node char d ;        struct node *fpt ; /*后繼指針*/        struct node*bpt ; /*前趨指針*/    NODE ;NODE *buil

85、ding( char *s ) /*生成雙向循環(huán)鏈表*/ NODE *p = NULL , *q ;    while ( *s )         q = ( NODE * ) malloc( sizeof( NODE ) ) ;        q -> ch = *s+ ;        if ( p = NULL ) p = q -&g

86、t; fpt = q -> b t = q ;        else              p -> bpt -> fpt = q ;            q -> fpt = p ;       

87、     q -bpt = _(1)_;            _(2)_ ;                returnint count( NODE *start , int maxn ,int step ) /*求可取走珠子粒數(shù)*/ int color ,c ;    NODE *p

88、 ;    color = -1 ; C = 0 ;    for ( p = start ; c <maxn ; p = step  > O ? p -> fpt ; p -> bpt )        if ( color = -1 ) color = p -> ch ;        else if (_(3)_) break ;  

89、;      c+        returnint find ( char *s ,int *cutpos ) /*尋找取走珠子數(shù)最多的斷點和粒數(shù)*/ int i , c , cut , maxc = 0 ,1en = strlen(s) ;    NODE *p ;    if ( ( p = building(s) ) = NULL ) *cu1tpos = -1 ; return -1 ;     i = 0 ;    do c = count( p , 1en ,1 ) ;        c = c +

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論