初級(jí)程序員下午試題-96_第1頁(yè)
初級(jí)程序員下午試題-96_第2頁(yè)
初級(jí)程序員下午試題-96_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、初級(jí)程序員下午試題-96(總分:105.00,做題時(shí)間:90分鐘)、試題一(總題數(shù):1,分?jǐn)?shù):15.00)閱讀以下說(shuō)明和算法,完善算法并回答問(wèn)題,將解答寫(xiě)在對(duì)應(yīng)欄內(nèi)。說(shuō)明假設(shè)以二維數(shù)組G1.m,1.n表示一幅圖像各像素的顏色,則Gi,j表示區(qū)域中點(diǎn)(i,j 處的顏色,顏色值為0到k的整數(shù)。下面的算法將指定點(diǎn)(i 0,j 0)所在的同色鄰接區(qū)域的顏色置換為給定的顏色值。約定所有與點(diǎn)(i 0,j 0)同色的上、下、左、右可連通的點(diǎn)組成同色鄰接區(qū)域。例如,一幅8X9像素的圖像如圖1-1所示。設(shè)用戶指定點(diǎn)(3,5),其顏色值為0,此時(shí)其上方(2,5)、下方 (4,5)、右方(3,6)鄰接點(diǎn)的顏色值都為

2、0,因此這些點(diǎn)屬于點(diǎn)(3,5)所在的同色鄰接區(qū)域,再?gòu)纳?、下、左?右四個(gè)方向進(jìn)行擴(kuò)展,可得岀該同色鄰接區(qū)域的其他點(diǎn)(見(jiàn)圖1-1中的陰影部分)。將上述同色區(qū)域的顏色替換為顏色值7所得的新圖像如圖1-2所示。(分?jǐn)?shù):15.00 )填空項(xiàng)1:解析:填空項(xiàng)1:解析:填空項(xiàng)1:解析:填空項(xiàng)1:解析:填空項(xiàng)1:解析:二、試題二(總題數(shù):1,算法輸入:矩陣G,點(diǎn)的坐標(biāo)(i 0,j 0),新顏色值newcolor。輸出:點(diǎn)(i 0,j 0)所在同色鄰接區(qū)域的顏色置換為newcolor之后的矩陣 G算法步驟(為規(guī)范算法,規(guī)定該算法只在第七步后結(jié)束):第一步:若點(diǎn)(i 0,j 0)的顏色值與新顏色值 newco

3、lor相同,則(1);第二步:點(diǎn)(i 0,j 0)的顏色值t oldcolo r;創(chuàng)建棧S,并將點(diǎn)坐標(biāo)(i ,j 0)入棧;第三步:若 ,則轉(zhuǎn)第七步;第四步:棧頂元素出棧t (x,y),并 ;第五步:1)若點(diǎn)(x,y-1)在圖像中且Gx,y-1等于 oldcolor,_則(x,y-1)入棧S2)若點(diǎn)(x,y+1)在圖像中且Gx,y+1等于oldcolor,則(x,y+1)入棧S3)若點(diǎn)(x-1,y)在圖像中且Gx-1,y等于oldcolor,則(x-1,y)入棧S4)若點(diǎn)(x+1,y)在圖像中且Gx+1,y)等于oldcolor,則(x+1,y)入棧S第六步:轉(zhuǎn)第七步:算法結(jié)束。問(wèn)題是否可以將

4、算法中的棧換成隊(duì)列 ?回答:(5)(正確答案:轉(zhuǎn)第七步)(正確答案:棧為空)(正確答案:newcolor TGx,y)(正確答案:轉(zhuǎn)第三步)(正確答案:可以)分?jǐn)?shù):15.00)閱讀以下說(shuō)明和C程序,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)說(shuō)明下面的程序按照以下規(guī)則輸岀給定名詞的復(fù)數(shù)形式: a.若名詞以“ y”結(jié)尾,則刪除y并添加“ ies ”; b.若名詞以“ s”、“ ch”或“ sh”結(jié)尾,則添加“ es”;C.其他所有情況,直接添加“s ”。C語(yǔ)言程序# include# includechar *plural (char *word)int n;char *pstr;n=strlen

5、(word); /*求給定單詞的長(zhǎng)度*/pstr=(char *) malloc(n+3); /*申請(qǐng)給定單詞的復(fù)數(shù)形式存儲(chǔ)空間 */if (! pstr|n 2)return NULL;strcpy (pstr,word);/*復(fù)制給定單詞 */if( (1) pstrn-1 = i-; pstrn=e; pstrn+1=s; (2);else if(pstrn-1=s |pstrn-1=h & (3)pstrn=e; pstrn+1=s; pstrn+2= O;elsepstrn=s; pstrn+1= 0;;main ()int i; char *ps;char wc910=chair,

6、 dairy, boss, circus, fly, dog, church, clue, dish);for(i=0; i 0)for (q=0 ; q M. cols ; q+)numq=0;for (t=0; t M.elements;+t)/* 計(jì)算矩陣 M中每一列非零元素?cái)?shù)目*/ num M.datat.c+;/*計(jì)算矩陣M中每列第一個(gè)非零元素在其轉(zhuǎn)置矩陣三元組順序表中的位置*/(3);for(j=1;j M.cols;j+)cpotj= (4 /*以下代碼完成轉(zhuǎn)置矩陣MT三元組順序表元素的設(shè)置*/for(t=0;t =R) /*找到第i排連續(xù)的R個(gè)空座位*/for(c=0;cv R

7、;c+) /* 查找其余的 R*(R-1)個(gè)座位 */for(t=1;tv R;t+)if(a (3) j+c!=0)break;if(t v R)break;/*for*/if( (4) )FOUND=1;/*if*/(5);/*while*/*for i*/if(FOUND)*row=i-1; *col=j-1; /*計(jì)算正方形區(qū)域的左上角坐標(biāo)*/return 1;return 0;填空項(xiàng)1:(正確答案:j=0 )解析:填空項(xiàng)1:(正確答案:k v R)解析:填空項(xiàng)1:(正確答案:i+t )解析:填空項(xiàng)1:(正確答案:c =R)解析:填空項(xiàng)1:(正確答案:j+ 或 j+=1 )解析:五、試

8、題五(總題數(shù):1,分?jǐn)?shù):15.00)(分?jǐn)?shù):15.00 )閱讀以下說(shuō)明和C函數(shù),將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明某班級(jí)有N名學(xué)生,他們可根據(jù)自己的情況選修名稱和數(shù)量不盡相同的課程。設(shè) 選課程及成績(jī)用鏈表結(jié)構(gòu)存儲(chǔ),如圖5-1所示。N等于6,學(xué)生信息、所程序中相應(yīng)的類(lèi)型定義如下:#define N 6struct nodechar cname5; /* 課程名 */int grade; /* 成績(jī) */struct node *next; /*指針,指示某學(xué)生選修的下一門(mén)課程及成績(jī)*/struct studentchar xh5; /* 學(xué)號(hào) */char name20; /* 姓

9、名 */struct node *link; /*指針,指示出選修的課程及成績(jī)鏈表*/stud_in fon;Studn fo為一個(gè)全局?jǐn)?shù)組。函數(shù)func(char kc,int *num)的功能是統(tǒng)計(jì)選修了課程名為kc的學(xué)生的人數(shù),并返回該課程的平均成績(jī)(若無(wú)人選修該課程,則平均成績(jī)?yōu)?),參數(shù)num帶回選修課程kc的學(xué)生人數(shù)。C語(yǔ)言函數(shù)double func(char kc, int *num)int i, count=0, sum=0; /*count用于記錄選修課程名為kc的學(xué)生的人數(shù)*/double avg=0.0;struct node *p;for(i=0; i v N; i+)

10、p= (1) ; /*取第土個(gè)學(xué)生所修課程鏈表的頭指針*/while (p)if( (2)sum= (3);count+;break;/* if*/p=p- next;/*while*/;if( (5)avg=(double) sum /count; /*計(jì)算平均成績(jī) */return avg;/*func*/從下列的2道試題(試題六至試題七)中任選1道解答。如果解答的試題數(shù)超過(guò)1道,則題號(hào)小的1道解答有效。(分?jǐn)?shù):15.00 )填空項(xiàng)1:(正確答案:stud_infoi.link)解析:填空項(xiàng)1:(正確答案:!strcmp(p- cname,kc)解析:填空項(xiàng)1:(正確答案:sum+p- g

11、rade )解析:填空項(xiàng)1:(正確答案:*num=count)解析:填空項(xiàng)1:(正確答案:count!=0 )解析:六、試題六(總題數(shù):1分?jǐn)?shù):15.00)閱讀以下說(shuō)明和C+程序代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明在下面的C+代碼中,類(lèi)SalesTicket 能夠完成打印票據(jù)正文的功能,類(lèi)HeadDecorator與FootDecorator分別完成打印票據(jù)的抬頭和腳注的功能。已知該程序運(yùn)行后的輸岀結(jié)果如下所示,請(qǐng)?zhí)钛a(bǔ)該程序代碼中的 空缺。這是票據(jù)的抬頭!這是票據(jù)正文!這是票據(jù)的腳注! 這是票據(jù)的抬頭!這是票據(jù)的腳注!C+程序代碼#include using namespac

12、e std;class SalesTicketpublic;(1) printTicket()cout 這是票據(jù)正文! class Decorator : public SalesTicketSalesTicket *ticket;public :Decorator (SalesTicke *t)ticket=t;void printTicket ()if (ticket!=NULL)ticket- printTicket();class HeadDecorator:public Decoratorpublic:HeadDecorator(SalesTicket *t): (2)void pr

13、intTicket()cout 這是票據(jù)的抬頭! class FootDecorator:public Decoratorpublic:FootDecorator(SalesTicket *t): (3)void printTicket()Decorator:printTicket();cout 這是票據(jù)的腳注! void main (void)SalesTicket t;FootDecorator f(&t);HeadDecorator h( (4);h.printTicket();cout endl;FootDecorator a(NULL);HeadDecorator b( (5);b.

14、printTicket();(分?jǐn)?shù):15.00 )填空項(xiàng)1:(正確答案:virtual void)解析:填空項(xiàng)1:(正確答案:Decorator(t))解析:填空項(xiàng)1:(正確答案:Decorator(t))解析:填空項(xiàng)1:(正確答案:&f)解析:填空項(xiàng)1:(正確答案:&a)解析:七、試題七(總題數(shù):1,分?jǐn)?shù):15.00)閱讀以下說(shuō)明和Java程序代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。說(shuō)明在下面的Java程序代碼中,類(lèi) SalesTicket能夠完成打印票據(jù)正文的功能,類(lèi)HeadDecorator與FootDecorator分別完成打印票據(jù)的抬頭和腳注的功能。己知該程序運(yùn)行后的輸出結(jié)

15、果如下所示,請(qǐng)?zhí)钛a(bǔ) 該程序代碼中的空缺。這是票據(jù)的抬頭!這是票據(jù)正文!這是票據(jù)的腳注! 這是票據(jù)的抬頭!這是票據(jù)的腳注!Java程序代碼public class SalesTicketpublic void printTicket()(” 這是票據(jù)正文!);public class Decorator extends SalesTicket SalesTicket ticket;public Decorator(SalesTicket t)ticket =t ;public void printTicket() if(ticket!=null)ticket. printTicket();pub

16、lic class HeadDecorator extends Decoratorpublic HeadDecorator(SalesTicket t) public void printTicket()(”這是票據(jù)的抬頭!);Super.printTicket();public class FootDecorator extends Decorator public FootDecorator(SalesTicket t);public void printTicket() super.printTicket();(” 這是票據(jù)的腳注 r);public class Mainpublic static void main(String args)D

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論