2022年11月程序員下午題_第1頁
2022年11月程序員下午題_第2頁
2022年11月程序員下午題_第3頁
2022年11月程序員下午題_第4頁
2022年11月程序員下午題_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯年11月程序員下午題2022年11月程序員下午題

1.【問答題】10分|第一題閱讀以下說明和流程圖,填補流程圖中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】對于大于1的正整數(shù)n,(x+1)n可展開為

問題:1.1【流程圖】

注:循環(huán)開始框內(nèi)應(yīng)給出循環(huán)控制變量的初值和終值,默認遞增值為1。格式為:循環(huán)控制變量=初值,終值,遞增值。

2.【問答題】10分|第二題

閱讀以下說明和代碼,填補代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】對n個元素進行簡單選擇排序的基本方法是:第一趟從第1個元素開始,在n個元素中選出最小者,將其交換至第一個位置,第二趟從第2個元素開始,在剩下的n-1個元素中選出最小者,將其交換至第二個位置,依此類推,第i趟從n-i+1個元素中選出最小元素,將其交換至第i個位置,通過n-1趟選擇最終得到非遞減排序的有序序列。

問題:2.1【代碼】#includevoidselectSort(intdata[],intn)//對data[0]~data[n-1]中的n個整數(shù)按非遞減有序的方式進行排列{inti,j,k;inttemp;for(i=0;i

3.【問答題】10分|第三題

閱讀以下代碼和問題,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)?!敬a1】typedefenum{A,B,C,D}EnumType;EnumTypef(intyr){if(0==yr%400){returnA;}elseif(!(yr%4)){if(0!=yr%100)returnB;elsereturnC;}returnD;}【代碼2】#includeintmain(){intscore;scanf("%d",score);switch(score){case5:printf("Excellent!\n");case4:printf("Good!\n");break;case3:printf("Average!\n");case2:case1:case0:printf("Poor!\n");default:printf("Oops,Error\n");}return0;}【代碼3】#includeintmain(){inti,j,k;for(i=0;i2;i++)for(j=0;j3;j++)for(k=0;k2;k++){if(i!=jj!=k)printf("%d%d%d\n",i,j,k);}ruturn0;}

問題:3.1(4分)對于代碼1,寫出下面的函數(shù)調(diào)用后x1、x2、x3和x4的值。x1=f(1997);x2=f(2000);x3=f(2100);x4=f(2022);

問題:3.2(5分)(1)寫出代碼2進行時輸入為3的輸出結(jié)果;(2)寫出代碼2進行時輸入為5的輸出結(jié)果。

問題:3.3(6分)寫出代碼3運行后的輸出結(jié)果。

4.【問答題】10分|第四題

閱讀以下說明、C函數(shù)和問題,回答問題1和問題2將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】當(dāng)數(shù)組中的元素已經(jīng)排列有序時,可以采用折半查找(二分查找)法查找一個元素。下面的函數(shù)biSearch(intr[],intlow,inthigh,intkey)用非遞歸方式在數(shù)組r中進行二分查找,函數(shù)biSearch_rec(intr[],intlow,inthigh,intkey)采用遞歸方式在數(shù)組r中進行二分查找,函數(shù)的返回值都為所找到元素的下標(biāo);若找不到,則返回-1?!綜函數(shù)1】intbiSearch(intr[],intlow,inthigh,intkey)//r[low..high]中的元素按非遞減順序排列//用二分查找法在數(shù)組r中查找與key相同的元素//若找到則返回該元素在數(shù)組r的下標(biāo),否則返回-1{intmid;while((1)){mid=(low+high)/2;if(key==r[mid])returnmid;elseif(key

問題:4.1(12分)請?zhí)畛銫函數(shù)1和C函數(shù)2中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。

問題:4.2(3分)若有序數(shù)組中有n個元素,采用二分查找法查找一個元素時,最多與()個數(shù)組元素進行比較,即可確定查找結(jié)果。(7)備選答案:A.[log2(n+1)]B.[n/2]C.n-1D.n

5.【問答題】10分|第五題

閱讀以下說明和Java代碼,填補代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】以下Java代碼實現(xiàn)一個超市簡單銷售系統(tǒng)中的部分功能,顧客選擇圖書等物件(Item)加入購物車(ShoppingCart),到收銀臺(Cashier)對每個購物車中的物品統(tǒng)計其價格進行結(jié)賬。設(shè)計如圖5-1所示類圖。

圖5-1類圖

問題:5.1【Java代碼】interfaceItem{publicvoidaccept(Visitorvisitor);publicdoublegetPrice();}classBook(1){privatedoubleprice;publicBook(doubleprice){(2);}publicvoidaccept(Visitorvisitor){//訪問本元素(3);}publicdoublegetPrice(){returnprice;}}//其它物品類略interfaceVisitor{publicvoidvisit(Bookbook);//其它物品的visit方法}classCashier(4){privatedoubletotalForCart;//訪問Book類型對象的價格并累加(5){//假設(shè)Book類型的物品價格超過10元打8折if(book.getPrice()10.0){totalForCart+=book.getPrice();}elsetotalForCart+=book.getPrice()*0.8;}//其它visit方法和折扣策略類似,此處略publicdoublegetTotal(){returntotalForCart;}}classShoppingCart{//normalshoppingcartstuffprivatejava.util.ArrayListitems=newjava.util.ArrayList();publicdoublecalculatePrice(){Cashiervisitor=newCashier();for(Itemitem:items){(6);}doubletotal=visitor.getTotal();returntotal;}publicvoidadd(Iteme){this.items.add(e);}}

6.【問答題】10分|第六題

閱讀下列說明和C++代碼,填補代碼中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】以下C++代碼實現(xiàn)一個超市簡單銷售系統(tǒng)中的部分功能,顧客選擇圖書等物品(Item)加入購物車(ShoppingCart),到收銀臺(Cashier)對每個購物車中的物品統(tǒng)計其價格進行結(jié)賬,設(shè)計如圖6-1所示類圖。

圖6-1類圖

問題:6.1【C++代碼】usingnamespacestd;classBook;classVisitor{public:virtualvoidvisit(Book*book)=0;//其它物品的visit方法};classItem{public:virtualvoidaccept(Visitor*visitor)=0;virtualdoublegetPrice()=0;};classBook(1){private:doubleprice;public:Book(doubleprice){//訪問本元素(2);}voidaccept(Visitor*visitor){(3);}doublegetPrice(){returnprice;}};classCashier(4){private;doubletotalForCart;public://訪問Book類型對象的價格并累加(5){//假設(shè)Book類型的物品價格超過10元打8折if(book-getPrice()10.0){totalForCart+=book-getPrice();}elsetotalForCart+=book-getPrice()*0.8;}//其它visit方法和折扣策略類似,此處略doublegetTotal(){returntotalFo

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論