藍(lán)橋杯模擬題(含本科-高職java-c-c++)_第1頁
藍(lán)橋杯模擬題(含本科-高職java-c-c++)_第2頁
藍(lán)橋杯模擬題(含本科-高職java-c-c++)_第3頁
藍(lán)橋杯模擬題(含本科-高職java-c-c++)_第4頁
藍(lán)橋杯模擬題(含本科-高職java-c-c++)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

word文檔可自由復(fù)制編輯1. 競(jìng)賽規(guī)則及樣題(JAVA、C/C++) 31.1. 組別 31.2. 時(shí)長 31.3. 形式 31.4. 參賽選手機(jī)器環(huán)境 31.5. 題目形式 41.6. 涉及知識(shí) 41.7. 評(píng)分 52. 2011模擬c語言本科 52.1. 代碼填空(滿分2分) 62.2. 代碼填空(滿分3分) 62.3. 代碼填空(滿分3分) 62.4. 代碼填空(滿分5分) 62.5. 代碼填空(滿分6分) 62.6. 代碼填空(滿分9分) 72.7. 代碼設(shè)計(jì)(滿分5分) 82.8. 代碼設(shè)計(jì)(滿分11分) 82.9. 代碼設(shè)計(jì)(滿分18分) 92.10. 代碼設(shè)計(jì)(滿分20分) 93. 2011模擬java本科 93.1. 代碼填空(滿分2分) 103.2. 代碼填空(滿分3分) 103.3. 代碼填空(滿分4分) 103.4. 代碼填空(滿分5分) 113.5. 代碼填空(滿分6分) 113.6. 代碼填空(滿分9分) 123.7. 代碼設(shè)計(jì)(滿分5分) 133.8. 代碼設(shè)計(jì)(滿分11分) 133.9. 代碼設(shè)計(jì)(滿分18分) 143.10. 代碼設(shè)計(jì)(滿分20分) 144. 2011模擬c語言高職 144.1. 代碼填空(滿2分) 154.2. 代碼填空(滿分3分) 154.3. 代碼填空(滿分3分) 154.4. 代碼填空(滿分6分) 154.5. 代碼填空(滿分7分) 164.6. 代碼填空(滿分10分) 164.7. 程序設(shè)計(jì)(滿分15分) 164.8. 程序設(shè)計(jì)(滿分9分) 174.9. 程序設(shè)計(jì)(滿分12分) 174.10. 程序設(shè)計(jì)(滿分20分) 185. 2011模擬java高職 185.1. 代碼填空(滿分3分) 185.2. 代碼填空(滿分4分) 195.3. 代碼填空(滿分3分) 195.4. 代碼填空(滿分5分) 195.5. 代碼填空(滿分2分) 205.6. 代碼填空(滿分9分) 205.7. 代碼填空(滿分4分) 205.8. 程序設(shè)計(jì)(滿分15分) 215.9. 程序設(shè)計(jì)(滿分9分) 215.10. 程序設(shè)計(jì)(滿分20分) 215.11. 程序設(shè)計(jì)(滿分9分) 22競(jìng)賽規(guī)則及樣題(JAVA、C/C++)組別競(jìng)賽分為:高職高專c/c++,高職高專java,本科c/c++,本科java共4個(gè)組別。每位選手只能參加其中一個(gè)組別的競(jìng)賽。時(shí)長4小時(shí),全程封閉。形式全程機(jī)考。選手機(jī)器通過局域網(wǎng)連接到各個(gè)分賽區(qū)的競(jìng)賽服務(wù)器。以服務(wù)器-瀏覽器方式發(fā)放試題、提交結(jié)果。參賽選手機(jī)器環(huán)境機(jī)器配置X86兼容機(jī)器,內(nèi)存不小于1G,硬盤不小于60GWindowsNT內(nèi)核系統(tǒng)(WindowsXP,Windows2000等)c/c++開發(fā)環(huán)境:VisualC++6.0(英文,精簡版) 支持ANSIC++標(biāo)準(zhǔn) 支持STL 不支持MFC,ATL類庫幫助文檔(英文,chm格式)BorlandC++3.1(精簡版)Java開發(fā)環(huán)境JDK1.5EclipseHeliosforJavaSEJCreator2.0API幫助文檔(英文,中文,chm格式)題目形式競(jìng)賽題目完全為客觀題型,選手所提交程序的運(yùn)行結(jié)果為主要評(píng)分依據(jù)。(1)填空題題目為若干具有一定難度梯度、分值不等的結(jié)果填空題或代碼完善填空題。結(jié)果填空題題目描述一個(gè)具有確定解的問題。要求選手對(duì)問題的解填空。代碼填空題題目描述一個(gè)具有確定解的問題。題目同時(shí)給出解決該問題的代碼,但其中有缺失部分。要求選手讀懂代碼邏輯,對(duì)其中的空缺部分補(bǔ)充代碼,使整段代碼完整。(2)編程題題目為若干具有一定難度梯度、分值不等的編程題目。這些題目的要求明確、答案客觀。題目一般要用到標(biāo)準(zhǔn)輸入和輸出。要求選手通過編程,對(duì)給定的標(biāo)準(zhǔn)輸入求解,并通過標(biāo)準(zhǔn)輸出按題目要求的格式輸出解。一般題目的難度主要集中于對(duì)算法的設(shè)計(jì)和邏輯的組織上。理論上,考生不可能通過猜測(cè)或其它非編程的手段獲得問題的解。涉及知識(shí)Java高職高專組

解題所涉及的知識(shí):基本語法、面向?qū)ο?、網(wǎng)絡(luò)編程、接口、集合、IO、多線程、內(nèi)部類、異常。(數(shù)據(jù)結(jié)構(gòu)、swing等圖形界面不涉及,不涉及html、JSP、Tomcat、開源框架等web開發(fā)方面,不涉及JDBC、SQL等數(shù)據(jù)庫編程方面)解題允許使用的特性:JDK1.5支持的全部特性Java本科組

解題所涉及的知識(shí):Java高職高專組全部知識(shí)+數(shù)據(jù)結(jié)構(gòu)(高?!稊?shù)據(jù)結(jié)構(gòu)》教材中出現(xiàn)的經(jīng)典結(jié)構(gòu),及其通過組合、變形、改良等方法創(chuàng)造出的變種)解題允許使用的特性:同java高職高專組c/c++高職高專組解題所涉及的知識(shí):結(jié)構(gòu)、數(shù)組、指針、標(biāo)準(zhǔn)輸入輸出、文件操作(在代碼填空中不會(huì)出現(xiàn)c++知識(shí),不會(huì)出現(xiàn)ANSIC之外的windowsAPI調(diào)用)解題允許使用的特性:選手可以使用c風(fēng)格或c++風(fēng)格或混合風(fēng)格解答編程大題。允許使用ANSIC++特性。允許使用STL類庫。(不允許使用MFC類庫,ATL類庫)c/c++本科組解題所涉及的知識(shí):c/c++高職高專組全部知識(shí)+遞歸、函數(shù)指針、位運(yùn)算

解題允許使用的特性:同c/c++高職高專組評(píng)分結(jié)果填空題:答案唯一。程序填空題:按選手填寫的代碼代入程序中能否得出正確結(jié)果為判據(jù)。編程大題:主要以選手所提交的程序的運(yùn)行結(jié)果為依據(jù)(大于90%);同時(shí)會(huì)參考選手程序的編碼風(fēng)格、邏輯性、可讀性等方面(小于10%)。2011模擬c語言本科注意:本套模擬題主要模擬命題形式與考核范圍。真實(shí)競(jìng)賽題的數(shù)量、難度可能與此套模擬題有差異。說明:本試卷包含兩種題型:“代碼填空”與“程序設(shè)計(jì)”。填空題要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不多于一條語句(即不能出現(xiàn)分號(hào))。編程題要求選手設(shè)計(jì)的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。注意:在評(píng)卷時(shí)使用的輸入數(shù)據(jù)與試卷中給出的實(shí)例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對(duì)試卷中給定的數(shù)據(jù)有效。代碼填空(滿分2分)下列代碼,把一個(gè)2位整數(shù)交換十位與個(gè)位的位置。請(qǐng)?zhí)顚懭笔У拇a。例如:當(dāng)x=95時(shí),返回59。intswitch_num(intx){ inta=x/10; intb=x%10; return______b*10+a____________;}代碼填空(滿分3分)下列代碼把一個(gè)二進(jìn)制的串轉(zhuǎn)換為整數(shù)。請(qǐng)?zhí)顚懭鄙俚恼Z句; char*p="1010110001100"; intn=0; for(inti=0;i<strlen(p);i++) { n=__________________; } printf("%d\n",n);代碼填空(滿分3分)假設(shè)a,b,c是3個(gè)互不相等的整數(shù)。下列代碼取出它們中居中的數(shù)值,記錄在m中。其中的swap()函數(shù)可以交換兩個(gè)變量的值。請(qǐng)完善代碼。 if(a>b)swap(&a,&b); if(b>c)swap(&b,&c); ______________________; intm=b;代碼填空(滿分5分)計(jì)算3個(gè)A,2個(gè)B可以組成多少種排列的問題(如:AAABB,AABBA)是《組合數(shù)學(xué)》的研究領(lǐng)域。但有些情況下,也可以利用計(jì)算機(jī)計(jì)算速度快的特點(diǎn)通過巧妙的推理來解決問題。下列的程序計(jì)算了m個(gè)A,n個(gè)B可以組合成多少個(gè)不同排列的問題。請(qǐng)完善它。intf(intm,intn){ if(m==0||n==0)return1; return_______________________;}代碼填空(滿分6分)此段代碼的意圖是把一個(gè)緩沖區(qū)中的整數(shù)重新排列,使得所有負(fù)數(shù)都在正數(shù)的左邊。請(qǐng)分析其工作流程,補(bǔ)充缺失的代碼。voidreorder(int*pData,intlen){if(pData==NULL||len==0)return;int*pBegin=pData;int*pEnd=____________;while(pBegin<pEnd){if(*pBegin<0){pBegin++;__________;}if(*pEnd>=0){pEnd--;___________;}inttemp=*pBegin;*pBegin=*pEnd;*pEnd=temp;}}intmain(intargc,char**argv){ inta[]={1,2,3,-5,-4,5,9,-8,-1}; reorder(a,9); for(inti=0;i<9;i++)printf("%d",a[i]); printf("\n"); return0;}代碼填空(滿分9分)給定一個(gè)字符串,其含有的字符各不相同。程序輸出該字符串的所有排列(全排列)情形。例如:給定字符串“xyz”,則程序輸出:xyzxzyyxzyzxzyxzxy試完善程序中空缺的部分。voidf(char*str,intlen,intn){ inti; chartmp; char*p=(char*)malloc(__________); if(n==len-1){ printf("%s\n",str); }else{ for(i=n;i<len;i++){ strcpy(p,str); tmp=*(str+n); *(str+n)=*(str+i); *(str+i)=tmp; _______________; strcpy(str,p); } } free(p);}intmain(intargc,char**argv){ charstr[]="xyz"; f(str,3,0); printf("\n"); return0;}代碼設(shè)計(jì)(滿分5分)625這個(gè)數(shù)字很特別,625的平方等于390625,剛好其末3位是625本身。除了625,還有其它的3位數(shù)有這個(gè)特征嗎?請(qǐng)編寫程序,尋找所有這樣的3位數(shù):它的平方的末3位是這個(gè)數(shù)字本身。輸出結(jié)果中,從小到大,每個(gè)找到的數(shù)字占一行。比如那個(gè)625就輸出為:625代碼設(shè)計(jì)(滿分11分)某游戲規(guī)則中,甲乙雙方每個(gè)回合的戰(zhàn)斗總是有一方勝利,一方失敗。游戲規(guī)定:失敗的一方要把自己的體力值的1/4加給勝利的一方。例如:如果雙方體力值當(dāng)前都是4,則經(jīng)過一輪戰(zhàn)斗后,雙方的體力值會(huì)變?yōu)椋?,3?,F(xiàn)在已知:雙方開始時(shí)的體力值甲:1000,乙:2000。假設(shè)戰(zhàn)斗中,甲乙獲勝的概率都是50%求解:雙方經(jīng)過4個(gè)回合的戰(zhàn)斗,體力值之差小于1000的理論概率。代碼設(shè)計(jì)(滿分18分)整數(shù)的分劃問題。如,對(duì)于正整數(shù)n=6,可以分劃為:65+14+2,4+1+13+3,3+2+1,3+1+1+12+2+2,2+2+1+1,2+1+1+1+11+1+1+1+1+1+1現(xiàn)在的問題是,對(duì)于給定的正整數(shù)n,編寫算法打印所有劃分。用戶從鍵盤輸入n(范圍1~10)程序輸出該整數(shù)的所有劃分。代碼設(shè)計(jì)(滿分20分)一個(gè)N位的十進(jìn)制正整數(shù),如果它的每個(gè)位上的數(shù)字的N次方的和等于這個(gè)數(shù)本身,則稱其為花朵數(shù)。例如:當(dāng)N=3時(shí),153就滿足條件,因?yàn)?^3+5^3+3^3=153,這樣的數(shù)字也被稱為水仙花數(shù)(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。當(dāng)N=4時(shí),1634滿足條件,因?yàn)?^4+6^4+3^4+4^4=1634。當(dāng)N=5時(shí),92727滿足條件。實(shí)際上,對(duì)N的每個(gè)取值,可能有多個(gè)數(shù)字滿足條件。程序的任務(wù)是:求N=21時(shí),所有滿足條件的花朵數(shù)。注意:這個(gè)整數(shù)有21位,它的各個(gè)位數(shù)字的21次方之和正好等于這個(gè)數(shù)本身。如果滿足條件的數(shù)字不只有一個(gè),請(qǐng)從小到大輸出所有符合條件的數(shù)字,每個(gè)數(shù)字占一行。因?yàn)檫@個(gè)數(shù)字很大,請(qǐng)注意解法時(shí)間上的可行性。要求程序在3分鐘內(nèi)運(yùn)行完畢。2011模擬java本科注意:本套模擬題主要模擬命題形式與考核范圍。真實(shí)競(jìng)賽題的數(shù)量、難度可能與此套模擬題有差異。說明:本試卷包含兩種題型:“代碼填空”與“程序設(shè)計(jì)”。填空題要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不多于一條語句(即不能出現(xiàn)分號(hào))。編程題要求選手設(shè)計(jì)的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。注意:在評(píng)卷時(shí)使用的輸入數(shù)據(jù)與試卷中給出的實(shí)例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對(duì)試卷中給定的數(shù)據(jù)有效。代碼填空(滿分2分)在ABCDEF六人中隨機(jī)抽取3人中獎(jiǎng),要求中獎(jiǎng)人不能重復(fù)。請(qǐng)完善以下代碼:publicclassMyTest{ publicstaticvoidmain(String[]args) { Vectora=newVector(); for(chari='A';i<='F';i++)a.add(""+i); for(intk=0;k<3;k++) { intd=____________________________; System.out.println(a.remove(d)); } }}代碼填空(滿分3分)不同進(jìn)制的數(shù)值間的轉(zhuǎn)換是軟件開發(fā)中很可能會(huì)遇到的常規(guī)問題。下面的代碼演示了如何把鍵盤輸入的3進(jìn)制數(shù)字轉(zhuǎn)換為十進(jìn)制。試完善之。 BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)); Strings=br.readLine(); intn=0; for(inti=0;i<s.length();i++) { charc=s.charAt(i); if(c<'0'||c>'2')thrownewRuntimeException("Formaterror"); n=______________________; } System.out.println(n);代碼填空(滿分4分)有如下程序,完成的功能為:找出數(shù)組中的最大元素。請(qǐng)?zhí)顚懗绦虻闹锌瞻?,使程序運(yùn)行正確。publicclasstest{ publicstaticvoidmain(String[]args){ intarray[]={0,34,67,90,21,-9,98,1000,-78}; System.out.println(newtest().findMax(array,0)); } publicintfindMax(intarray[],intindex) { if(array==null||array.length==0) { return0; } intmax=array[0]; if(index<array.length-1) { max=____________________ } if(max<array[index])max=array[index]; returnmax; }}代碼填空(滿分5分)電視臺(tái)開寶箱節(jié)目:打進(jìn)電話的人可以開啟一個(gè)寶箱。箱子中有一件禮品。禮品是iphone的機(jī)率為1/12;是mp3的機(jī)率為1/5;是洗衣粉的機(jī)率為1/2;剩余是KFC優(yōu)惠券。 每次打進(jìn)電話,寶箱會(huì)重置。 以下程序模擬了該抽獎(jiǎng)過程。請(qǐng)?zhí)顚懭笔У牟糠帧?publicstaticvoidmain(String[]args){ inti=(int)Math.random()*_____________; if(i<5){ System.out.println("恭喜中了:iphone手機(jī)"); }elseif(i<17){ System.out.println("恭喜中了:mp3"); }elseif(i<47){ System.out.println("恭喜中了:洗衣粉"); }else{ System.out.println("恭喜中了:KFC優(yōu)惠券"); } }代碼填空(滿分6分)下列代碼求出一個(gè)二進(jìn)制串中連續(xù)的1或連續(xù)的0出現(xiàn)的最大次數(shù)。請(qǐng)?zhí)钊笔Тa。例如:s=“101100111100011”則返回:4又例如:s=”0111100000則返回:5publicstaticintgetMaxContinuity(Strings){ intmax_1=0; intmax_0=0; intn_1=0;//當(dāng)前1連續(xù)的次數(shù) intn_0=0;//當(dāng)前0連續(xù)的次數(shù) for(inti=0;i<s.length();i++) { if(s.charAt(i)=='0') { n_0++; ________; } else { n_1++; _________; } if(n_1>max_1)max_1=n_1; if(n_0>max_0)max_0=n_0; } returnmax_1>max_0?max_1:max_0);}代碼填空(滿分9分)下列代碼把16進(jìn)制表示的串轉(zhuǎn)換為3進(jìn)制表示的串。試完善之。例如:x=“5”則返回:“12”又例如:x=”F”則返回:“120” privatestaticintgetRealValue(charx) { if(x>='0'&&x<='9')returnx-'0'; if(x>='a'&&x<='f')returnx-'a'+10; if(x>='A'&&x<='F')returnx-'A'+10; return0; } publicstaticStringjin_zhi_16_3(Stringx) { intn=0;//累加真值 for(inti=0;i<x.length();i++) { n=_________+getRealValue(x.charAt(i));//填空 } Stringt=""; for(;;) { if(n==0)break; t=(n%3)+t; _____________;//填空 } returnt; }代碼設(shè)計(jì)(滿分5分)625這個(gè)數(shù)字很特別,625的平方等于390625,剛好其末3位是625本身。除了625,還有其它的3位數(shù)有這個(gè)特征嗎?請(qǐng)編寫程序,尋找所有這樣的3位數(shù):它的平方的末3位是這個(gè)數(shù)字本身。輸出結(jié)果中,從小到大,每個(gè)找到的數(shù)字占一行。比如那個(gè)625就輸出為:625代碼設(shè)計(jì)(滿分11分)考慮方程式:a^3+b^3=c^3+d^3其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整數(shù)。這個(gè)方程有很多解。比如:a=1,b=12,c=9,d=10就是一個(gè)解。因?yàn)椋?的立方加12的立方等于1729,而9的立方加10的立方也等于1729。當(dāng)然,a=12,b=1,c=9,d=10顯然也是解。如果不計(jì)abcd交換次序的情況,這算同一個(gè)解。你的任務(wù)是:找到所有小于30的不同的正整數(shù)解。把a(bǔ)bcd按從小到大排列,用逗號(hào)分隔,每個(gè)解占用1行。比如,剛才的解輸出為:1,9,10,12不同解間的順序可以不考慮。代碼設(shè)計(jì)(滿分18分)整數(shù)的分劃問題。如,對(duì)于正整數(shù)n=6,可以分劃為:65+14+2,4+1+13+3,3+2+1,3+1+1+12+2+2,2+2+1+1,2+1+1+1+11+1+1+1+1+1+1現(xiàn)在的問題是,對(duì)于給定的正整數(shù)n,編寫算法打印所有劃分。用戶從鍵盤輸入n(范圍1~10)程序輸出該整數(shù)的所有劃分。代碼設(shè)計(jì)(滿分20分)一個(gè)N位的十進(jìn)制正整數(shù),如果它的每個(gè)位上的數(shù)字的N次方的和等于這個(gè)數(shù)本身,則稱其為花朵數(shù)。例如:當(dāng)N=3時(shí),153就滿足條件,因?yàn)?^3+5^3+3^3=153,這樣的數(shù)字也被稱為水仙花數(shù)(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。當(dāng)N=4時(shí),1634滿足條件,因?yàn)?^4+6^4+3^4+4^4=1634。當(dāng)N=5時(shí),92727滿足條件。實(shí)際上,對(duì)N的每個(gè)取值,可能有多個(gè)數(shù)字滿足條件。程序的任務(wù)是:求N=21時(shí),所有滿足條件的花朵數(shù)。注意:這個(gè)整數(shù)有21位,它的各個(gè)位數(shù)字的21次方之和正好等于這個(gè)數(shù)本身。如果滿足條件的數(shù)字不只有一個(gè),請(qǐng)從小到大輸出所有符合條件的數(shù)字,每個(gè)數(shù)字占一行。因?yàn)檫@個(gè)數(shù)字很大,請(qǐng)注意解法時(shí)間上的可行性。要求程序在3分鐘內(nèi)運(yùn)行完畢。2011模擬c語言高職注意:本套模擬題主要模擬命題形式與考核范圍。真實(shí)競(jìng)賽題的數(shù)量、難度可能與此套模擬題有差異。說明:本試卷包含兩種題型:“代碼填空”與“程序設(shè)計(jì)”。填空題要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不多于一條語句(即不能出現(xiàn)分號(hào))。編程題要求選手設(shè)計(jì)的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。注意:在評(píng)卷時(shí)使用的輸入數(shù)據(jù)與試卷中給出的實(shí)例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對(duì)試卷中給定的數(shù)據(jù)有效。代碼填空(滿2分)形如:“abccba”,“abcba”的串稱為回文串,下列代碼判斷一個(gè)串是否為回文串。請(qǐng)補(bǔ)充空白的部分。 charbuf[]="abcde11edcba"; intx=1; for(inti=0;i<strlen(buf)/2;i++) if(___________________) { x=0; break; } printf("%s\n",x?"是":"否");代碼填空(滿分3分)下列代碼把一個(gè)二進(jìn)制的串轉(zhuǎn)換為整數(shù)。請(qǐng)?zhí)顚懭鄙俚恼Z句; char*p="1010110001100"; intn=0; for(inti=0;i<strlen(p);i++) { n=__________________; } printf("%d\n",n);代碼填空(滿分3分)假設(shè)a,b,c是3個(gè)互不相等的整數(shù)。下列代碼取出它們中居中的數(shù)值,記錄在m中。其中的swap()函數(shù)可以交換兩個(gè)變量的值。請(qǐng)完善代碼。 if(a>b)swap(&a,&b); if(b>c)swap(&b,&c); ______________________; intm=b;代碼填空(滿分6分)下面函數(shù)的目的是求出某個(gè)日期是該年度的第幾天。試完善之。如果傳入:year=1980,month=1,day=1則返回1如果傳入:year=1980,month=2,day=1則返回32intgetDayOfYear(intyear,intmonth,intday){ intdays_____________________; intflag=(year%4==0&&year%100!=0)||year%400==0?1:0; intsum=day; for(inti=0;i<month;i++) { sum+=days[flag][i]; } returnsum; }代碼填空(滿分7分)計(jì)算3個(gè)A,2個(gè)B可以組成多少種排列的問題(如:AAABB,AABBA)是《組合數(shù)學(xué)》的研究領(lǐng)域。但有些情況下,也可以利用計(jì)算機(jī)計(jì)算速度快的特點(diǎn)通過巧妙的推理來解決問題。下列的程序計(jì)算了m個(gè)A,n個(gè)B可以組合成多少個(gè)不同排列的問題。請(qǐng)完善它。intf(intm,intn){ if(m==0||n==0)return1; return_______________________;}代碼填空(滿分10分)(a+b)的n次冪的展開式中各項(xiàng)的系數(shù)很有規(guī)律,對(duì)于n=2,3,4時(shí)分別是:121,1331,14641。這些系數(shù)構(gòu)成了著名的楊輝三角形:11112113311464115101051下列的程序給出了計(jì)算第m層的第n個(gè)系數(shù)的計(jì)算方法,試完善之(m,n都從0算起)。 intf(intm,intn) { if(m==0)return1; if(n==0||n==m)return1; return__________________________; }程序設(shè)計(jì)(滿分15分)從鍵盤輸入一個(gè)整數(shù)(1~20)則以該數(shù)字為矩陣的大小,把1,2,3…n*n的數(shù)字按照順時(shí)針螺旋的形式填入其中。例如:輸入數(shù)字2,則程序輸出:1243輸入數(shù)字3,則程序輸出:123894765輸入數(shù)字4,則程序輸出:12341213145111615610987程序設(shè)計(jì)(滿分9分)從鍵盤輸入一個(gè)日期,格式為yyyy-M-d要求計(jì)算該日期與1949年10月1日距離多少天例如:用戶輸入了:1949-10-2程序輸出:1用戶輸入了:1949-11-1程序輸出:31程序設(shè)計(jì)(滿分12分)當(dāng)你輸入信用卡號(hào)碼的時(shí)候,有沒有擔(dān)心輸錯(cuò)了而造成損失呢?其實(shí)可以不必這么擔(dān)心,因?yàn)椴⒉皇且粋€(gè)隨便的信用卡號(hào)碼都是合法的,它必須通過Luhn算法來驗(yàn)證通過。該校驗(yàn)的過程:1、從卡號(hào)最后一位數(shù)字開始,逆向?qū)⑵鏀?shù)位(1、3、5等等)相加。2、從卡號(hào)最后一位數(shù)字開始,逆向?qū)⑴紨?shù)位數(shù)字,先乘以2(如果乘積為兩位數(shù),則將其減去9),再求和。3、將奇數(shù)位總和加上偶數(shù)位總和,結(jié)果應(yīng)該可以被10整除。例如,卡號(hào)是:5432123456788881則奇數(shù)、偶數(shù)位(用紅色標(biāo)出)分布:5432123456788881奇數(shù)位和=35偶數(shù)位乘以2(有些要減去9)的結(jié)果:16261577,求和=35。最后35+35=70可以被10整除,認(rèn)定校驗(yàn)通過。請(qǐng)編寫一個(gè)程序,從鍵盤輸入卡號(hào),然后判斷是否校驗(yàn)通過。通過顯示:“成功”,否則顯示“失敗”。比如,用戶輸入:356827027232780程序輸出:成功程序設(shè)計(jì)(滿分20分)任意一個(gè)5位數(shù),比如:34256,把它的各位數(shù)字打亂,重新排列,可以得到一個(gè)最大的數(shù):65432,一個(gè)最小的數(shù)23456。求這兩個(gè)數(shù)字的差,得:41976,把這個(gè)數(shù)字再次重復(fù)上述過程(如果不足5位,則前邊補(bǔ)0)。如此往復(fù),數(shù)字會(huì)落入某個(gè)循環(huán)圈(稱為數(shù)字黑洞)。比如,剛才的數(shù)字會(huì)落入:[82962,75933,63954,61974]這個(gè)循環(huán)圈。請(qǐng)編寫程序,找到5位數(shù)所有可能的循環(huán)圈,并輸出,每個(gè)循環(huán)圈占1行。其中5位數(shù)全都相同則循環(huán)圈為[0],這個(gè)可以不考慮。循環(huán)圈的輸出格式仿照:[82962,75933,63954,61974]其中數(shù)字的先后順序可以不考慮。2011模擬java高職注意:本套模擬題主要模擬命題形式與考核范圍。真實(shí)競(jìng)賽題的數(shù)量、難度可能與此套模擬題有差異。說明:本試卷包含兩種題型:“代碼填空”與“程序設(shè)計(jì)”。填空題要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不多于一條語句(即不能出現(xiàn)分號(hào))。編程題要求選手設(shè)計(jì)的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。注意:在評(píng)卷時(shí)使用的輸入數(shù)據(jù)與試卷中給出的實(shí)例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對(duì)試卷中給定的數(shù)據(jù)有效。代碼填空(滿分3分)以下程序打印出0~9的數(shù)字,請(qǐng)補(bǔ)充缺少的代碼。publicclassMyTest{ publicstaticvoidf(intbegin,intend) { __________________; System.out.println(begin); f(begin+1,end); } publicstaticvoidmain(String[]args) { f(0,9); }}代碼填空(滿分4分)如果要把兩個(gè)整型變量a、b的值交換,一般要采用一個(gè)中間變量做過渡,但也可以在不借助任何其它變量的情況下完成。試填寫缺失的代碼。 a=a^b; b=_________; a=_________;代碼填空(滿分3分)許多人都曾經(jīng)玩過“拍七”游戲。規(guī)則是:大家依次從1開始順序數(shù)數(shù),數(shù)到含有7或7的倍數(shù)的要拍手或其它規(guī)定的方式表示越過(比如:7,14,17等都不能數(shù)出),下一人繼續(xù)數(shù)下面的數(shù)字。違反規(guī)則者受罰。下面的程序模擬這個(gè)過程,拍7的情況輸出“*”,請(qǐng)完善之。 for(inti=1;i<100;i++) { if(i%7==0) printf("*\n"); elseif(___________________) printf("*\n"); else printf("%d\n",i); }代碼填空(滿分5分)下面的靜態(tài)方法的目的是求出某個(gè)日期是該年度的第幾天。試完善之。如果傳入:year=1980,month=1,day=1則返回1如果傳入:year=1980,month=2,day=1則返回32publicstaticintgetDayOfYear(intyear,intmonth,intday){ int[][]days=_____________________; intflag=(year%4==0&&year%100!=0)||year%400==0?1:0; intsum=day; for(inti=0;i<month;i++) { sum+=days[flag][i]; } returnsum; }代碼填空(滿分2分)下列方法的目的是,找出1~n之間所有的平方數(shù)。試補(bǔ)全缺失的代碼。當(dāng)n=10時(shí),輸出結(jié)果是:149當(dāng)n=100時(shí),輸出結(jié)果是:149162536496481 public

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論