2023藍(lán)橋杯高職java試題及部分參考答案_第1頁(yè)
2023藍(lán)橋杯高職java試題及部分參考答案_第2頁(yè)
2023藍(lán)橋杯高職java試題及部分參考答案_第3頁(yè)
2023藍(lán)橋杯高職java試題及部分參考答案_第4頁(yè)
2023藍(lán)橋杯高職java試題及部分參考答案_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

2023年選拔賽java高職

考生須知:

考試時(shí)間為4小時(shí)。

本試卷包含兩種題型:“代碼填空”與“程序設(shè)計(jì)二總計(jì)100分。

其中代碼填空:3+3+4+6+7+9+10=42分

程序設(shè)計(jì):14+17+27=58分

填空題要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯

正確、完整。所填寫的代碼不超過(guò)一條語(yǔ)句(即不能出現(xiàn)分號(hào))。

把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下對(duì)應(yīng)題號(hào)的“解答.ixt”

中即可。

編程題要求選手設(shè)計(jì)的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果??忌某绦蛑挥心?/p>

運(yùn)行出正確結(jié)果的時(shí)候才有機(jī)會(huì)得分。留意:在評(píng)卷時(shí)運(yùn)用的輸入數(shù)據(jù)與試卷中給出的實(shí)

例數(shù)據(jù)可能是不同的。選手的程序必需是通用的,不能只對(duì)試卷中給定的數(shù)據(jù)有效。

對(duì)每個(gè)題目,要求考生把全部類寫在一個(gè)文件中。調(diào)試好后,存入與考生文件夾下對(duì)應(yīng)

題號(hào)的“解答.txi”中即可。相關(guān)的工程文件不要拷入。請(qǐng)不要運(yùn)用package語(yǔ)句。

另外,源程序中只能出現(xiàn)JDKL5中允許的語(yǔ)法或調(diào)用。不能運(yùn)用1.6或更高版本。

1.代碼填空(滿分3分)

計(jì)算蔬菜總價(jià)

為了豐富群眾菜籃子,平抑菜價(jià),相關(guān)部分組織了蔬菜的調(diào)運(yùn)。今某箱中有多個(gè)品種的

蔬菜。蔬菜的單價(jià)(元/公斤)存放在price數(shù)組中,蔬菜的重量(公斤)存放在weight數(shù)組

中。下面的代碼計(jì)算該箱蔬菜的總價(jià),試完善之。

把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下時(shí)應(yīng)題號(hào)的“解答.1X1”

中即可。

publicstaticdoublegetTotal(double[]price,double[]weight)

doublex=0;

for(inti?0;Kprice.length;i++)

returnx;

}

2.代碼填空(滿分3分)

計(jì)算行程

低碳生活,有氧運(yùn)動(dòng)。騎自行車出行是個(gè)好辦法。小明為自己的自行車裝了個(gè)計(jì)數(shù)器,

可以計(jì)算出輪子轉(zhuǎn)動(dòng)的圈數(shù)。在一次騎車旅行中,動(dòng)身時(shí)計(jì)算器的示數(shù)為begin,到達(dá)目的

地時(shí)的示數(shù)為end。下列代碼計(jì)算了小明一共騎行了多遠(yuǎn)(單位:公里)。其中d表示小明

自行車輪子的直徑(單位:米)。

把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下對(duì)應(yīng)題號(hào)的“解答.txt”

中即可。

publicstaticdoublegetDistance(intbegin,intend,doubled)

(

return(end-begin)*Math.PI*d*d;

)

3.代碼填空(滿分4分)

反轉(zhuǎn)的串

解決同一個(gè)問(wèn)題往往有很多方法。小剛很喜愛(ài)別出心裁。一天他在紙上草草寫了一段程

序,實(shí)現(xiàn)了把串s中的內(nèi)容反轉(zhuǎn)后放入s2的功能。也就是說(shuō),s2最終的內(nèi)容變成了“7654321”。

惋惜草紙出現(xiàn)了一處污損,請(qǐng)補(bǔ)全缺失的部分。把填空的答案(僅填空處的答案,不包

括題面)存入考生文件夾下對(duì)應(yīng)題號(hào)的“解答.1X1”中即可。

Strings="1234567";

Strings2-

for(inti=0;Ks.length();i++)

(

s2-s.charAt(i)+;

}

System.out.printIn(s2);

4.代碼填空(滿分6分)

最近距離

已知平面上的若干點(diǎn)的位置,存入一個(gè)List中。現(xiàn)在須要計(jì)算全部這些點(diǎn)中,距離最

近的兩個(gè)點(diǎn)間的最小距離。

請(qǐng)補(bǔ)全缺失的代碼。把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下

對(duì)應(yīng)題號(hào)的“解答.ixt”中即可。

classMyPoint

{

privatedoublex;//橫坐標(biāo)

privatedoubley;//縱坐標(biāo)

publicMyPoint(doublexzdoubley)

(

this.x■x;

this.y=y;

}

publicstaticdoubledistance(MyPointpl,MyPointp2)

(

doubledx-pl.x-p2.x;

doubledy=pl.y-p2.y;

returnMath.sqrt(dx*dx+dy*dy);

)

/*

1st中含有若干個(gè)點(diǎn)的坐標(biāo)

返回其中距離圾小的點(diǎn)的距離

*/

publicstaticdoublegetMinDistance(List<MyPoint>1st)

(

doubler-;

intn=1st.size();

for(inti=0;x<n;i++)

(

for(intj=i+l;j<n;j++)

(

MyPointpl=1st.get(i);

MyPointp2=1st.get(j);

doubled?MyPoint.distance(pl,p2);

if(d<r);

)

}

returnr;

}

5.代碼填空(滿分7分)

股票風(fēng)險(xiǎn)

股票交易上的投機(jī)行為往往非常危急。假設(shè)某股票行為非常怪異,每天不是漲停(上漲

10%)就是跌停(下跌10%)。假設(shè)上漲和下跌的概率均等(都是50%)。再假設(shè)交易過(guò)程沒(méi)

有任何手續(xù)費(fèi)。某人在起先的時(shí)候持有總價(jià)值為x的該股股票,那么100個(gè)交易日后,他盈

利的可能性是多少呢?

以下程序通過(guò)計(jì)算機(jī)模擬了該過(guò)程,一般的輸出結(jié)果在0.3左右。請(qǐng)?zhí)顚懭笔У拇a。

把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下對(duì)應(yīng)題號(hào)的“解答.〔xt”

中即可。

intN-10000;

intn=0;

for(inti?0;i<N;i++)

(

doublevalue=1000.0;

for(intk0;k<100;k++)

if(Math.random()>)

value=value*1.1;

else

value■value*0.9;

}

if()n++;

)

System.out.printIn(1.0*n/N);

6.代碼填空(滿分9分)

猜數(shù)字

很多人都玩過(guò)這個(gè)嬉戲:甲在心中想好一個(gè)數(shù)字,乙來(lái)猜。每猜一個(gè)數(shù)字,甲必需告知

他是猜大了,猜小了,還是剛好猜中了。下列的代碼模擬了這個(gè)過(guò)程。其中用戶充當(dāng)甲的角

色,計(jì)算機(jī)充當(dāng)乙的角色。為了能更快地猜中,計(jì)算機(jī)運(yùn)用了二分法。

閱讀分析代碼,填寫缺失的部分。把填空的答案(僅填空處的答案,不包括題面)存入

考生文件夾下對(duì)應(yīng)題號(hào)的“解答.1X1”中即可。

System.out.printin("請(qǐng)?jiān)谛闹邢牒靡粋€(gè)數(shù)字(1~100)?我來(lái)猜;

Sy—.out.pLintln(“我每猜?個(gè)數(shù)字,你要告知我是“猜大了”,“猜小了”,還是“猜中”

");

Scannerscan-newScanner(System.in);

intvl=1;

intv2=100;

for(;;)

(

intm=(vl+v2)/2;

System.out.p匚ntln("我猜是:"+m);

System.out.printIn(01.猜得太大了");

System.out.prmtln("2.猜得太小j'");

System.out.pr;nt("請(qǐng)選擇:");

intuser=Integer.parseint(scan.nextLineO);

if(user—3)break;

if(user==1);

if(user==2);

}

7.代碼填空(滿分1。分)

基因牛

張教授采納基因干預(yù)技術(shù)勝利培育出一頭母牛,三年后,這頭母牛每年會(huì)生出I頭母牛,

生出來(lái)的母牛三年后,又可以每年生出一頭母牛。如此循環(huán)下去,請(qǐng)問(wèn)張教授n年后有多少

頭母牛?

以下程序模擬了這個(gè)過(guò)程,請(qǐng)?zhí)顚懭笔У拇a。把填空的答案(僅填空處的答案,不包

括題面)存入考生文件夾下對(duì)應(yīng)題號(hào)的“解答.1X1”中即可。

publicstaticclassCow

(

privateintage;

publicCowafterYear()

(

age++;

returnage>2?newCow():;

)

publicstaticvoidshowTotalCowNum(intn)

(

List<Cow>list=newArrayList<Cow>();

list.add(newCow());

for(inti=0;i<n;i++)

(

intcowCount-list.size();

for(intj-0;j<cowCount;jIi)

(

Cowcow-list.get(j).afterYear();

if(cow!=null)

(

list.add(cow);

}

}

}

System.out.prmtln(n+”年后,共有:"+lisz.size());

)

8.程序設(shè)計(jì)(滿分14分)

在實(shí)際的開發(fā)工作中,對(duì)字符串的處理是最常見(jiàn)的編程任務(wù)。本題目即是要求程序?qū)τ?/p>

戶輸入的串進(jìn)行處理。詳細(xì)規(guī)則如下:

I.把每個(gè)單詞的苜字母變?yōu)榇髮憽?/p>

2.杷數(shù)字與字母之間用下劃線字符(_)分開,使得里清葬

3.把單詞中間有多個(gè)空格的調(diào)整為I個(gè)空格。

例如:

用戶輸入:

youandmewhatcpp2023program

則程序輸出:

YouAndMeWhatCpp_2323_program

用戶輸入:

thisisa99cat

則程序輸出:

ThisIsA99_cat

我們假設(shè):用戶輸入的串中只有小寫字母,空格和數(shù)字,不含其它的字母或符號(hào)。每個(gè)

單詞間由1個(gè)或多個(gè)空格分隔。

假設(shè)用戶輸入的串長(zhǎng)度不超過(guò)200個(gè)字符。

要求考生把全部類寫在一個(gè)文件中。調(diào)試好后,存入與考生文件夾下對(duì)應(yīng)題號(hào)的“解

答.txt”中即可。相關(guān)的工程文件不要拷入。請(qǐng)不要運(yùn)用package語(yǔ)句。

另外,源程序中只能出現(xiàn)JDK1.5中允許的語(yǔ)法或調(diào)用。不能運(yùn)用1.6或更高版本。

9.程序設(shè)計(jì)(滿分17分)

方陣的主對(duì)角線之上稱為“上三角二

請(qǐng)你設(shè)計(jì)一個(gè)用于填充n階方陣的上三角區(qū)域的程序。填充的規(guī)則是:運(yùn)用I,2,3….

的自然數(shù)列,從左上角起先,依據(jù)順時(shí)針?lè)较蚵菪畛洹?/p>

例如:當(dāng)n=3時(shí),輸出:

123

64

5

當(dāng)n=4時(shí),輸出:

1234

9105

86

7

當(dāng)n=5時(shí),輸出:

12345

1213146

11157

108

9

程序運(yùn)行時(shí),要求用戶輸入整數(shù)n(3?20)

程序輸出:方陣的上三角部分。

要求格式:每個(gè)數(shù)據(jù)寬度為4,右對(duì)齊。

要求考生把全部類寫在一個(gè)文件中。調(diào)試好后,存入與考生文件夾下對(duì)應(yīng)題號(hào)的“解

答.txt”中即可。相關(guān)的工程文件不要拷入。請(qǐng)不要運(yùn)用package語(yǔ)句。

另外,源程序中只能出現(xiàn)JDK1.5中允許的語(yǔ)法或調(diào)用。不能運(yùn)用1.6或更高版本。

10.程序設(shè)計(jì)(滿分27分)

A、B、C、D、E、F、G、H、I、J共10名學(xué)生有可能參與本次計(jì)算機(jī)競(jìng)賽,也可能

不參與。因?yàn)槟撤N緣由,他們是否參賽受到下列條件的約束:

1.假如A參與,B也參與:

2.假如C不參與,D也不參與;

3.A和C中只能有一個(gè)人參與;

4.B和D中有且僅有一個(gè)人參與;

5.D、E、F、G、H中至少有2人參與;

6.C和G或者都參與,或者都不參與;

7.C、E、G、I中至多只能2人參與

8.假如E參與,那么F和G也都參與。

9.假如F參與,G、H就不能參與

10.假如I、J都不參與,H必需參與

請(qǐng)編程依據(jù)這些條件推斷這10名同學(xué)中參賽者名單。假如有多種可能,則輸出全部的

可能狀況。每種狀況占一行。參賽同學(xué)按字母升序排列,用空格分隔。

比如:

CDGJ

就是一種可能的狀況。

要求考生把全部類寫在一個(gè)文件中。調(diào)試好后,存入與考生文件夾下對(duì)應(yīng)題號(hào)的“解

答.txt”中即可。相關(guān)的工程文件不要拷入。請(qǐng)不要運(yùn)用package語(yǔ)句。

另外,源程序中只能出現(xiàn)JDKL5中允許的語(yǔ)法或調(diào)用。不能運(yùn)用1.6或更高版本。

參考答案:

前面7個(gè)題目簡(jiǎn)潔這里略

8.

importjava.util.Scanner;

publicclassTest8{

publicStringzhuanhua(Strings){

booleanstart=false;

char[]b=s.toCha^Array();

Stringsl="";

Strings2="

Strings3="

for(inti=0;i<b.length;i++){

if(i>0&&b[i-l]==,*&&b[i]==*'){

start=false;

}

if(i>0&&b[i-l]!='*&&b[i]==''){

start=true;

}

if((b[i]==*'&&start)||b[i]!='')

{

sl+=b[i];

)

)

//System.out.println(sl);

char[]c=sl.toCharArray();

if(c[0]>='a'&&c[0]<='z')

{

cfOl-s'a'-'A';

)

s2+=c[0];

for(inti=l;i<c.length;i++){

if(c[i-l]==*,&&c[i]>='a'&&c[i]<='z'){

s2+=c[i];

continue;

)

s2+-c[i];

)

//System.out.printIn(s2);

char[]d=s2.toCharArray();

s3+=d[0];

for(inti=l;i<d.length;i++){

boolean

m=((d[i-l]>='a,&&d[i-l]<=,z,)||(d[i-l]>='A,&&d[i-l]<='Z,))&&(d[i]>='0,&

&d[i]<='9');

boolean

n=((d[i]>='a'&&d[i]<='z')||(d[i]>='A'&&d[i]<=,Z,)i&&(d[i-l]>='0'&&d[i-l

if(m||n){

s3+="_";

)

s3+=d[i];

)

returns3;

)

publicstaticvoidrrain(String[]args){

//TODOAuto-generatedmethodstub

Scannersc=newScanner(System.in);

Strings=sc.nextLine();

System.out.printIn(newTest8().zhuanhua(s));

)

}

9.

importjava.util.Scanner;

publicclassTesttwo{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

Scannersc=newScanner(System.in);

System.out.println("putn!");

intn=sc.nextlnt();

intk=l;

inta[][]-newint[n][n];

for(inti=0;i<n;i++)

{

for(intj=i;j<n-l-i*2;j++)

{

k++;

)

for(intj=i;j<n-i*2-l;j++)

{

a[j][n-l-i-j]=k;

k++;

)

for(intj=i;j<n-2*i-l;j++)

{

a[n-l-i-j][i]=k;

k++;

)

}

if((n-l)%3==0)

a[(n-l)/3][(n-l)/3]=k;

for(inti=0;i<n;i++)

for(intj=0;j<n;j++)

if(a[i][j]==0)

continue;

if(a[i][j]<10)

System.out.print(a[i][j]+"");

elseif(a[i][j]<100)

System.out.print(a[i][j]+"");

else

Systen.out.print(a[i][j]+"");

)

System.out.printlnC");

)

)

}

10.

publicclassTestpailie{

/**

*@paramargs

*/

publicintzhuanhual(Strings){

inta=0;

a=Integer.parselnt(s,2);

returna;

}

publicStringzhuanhua2(inta){

Strings="

for(;a!=0;a=a/2)

s+=a%2;

//System.out.println(s);

char[]b=s.toCha"Array();

Stringsl="";

chark;

for(inti=s.length()-l;i>=0;i--){

k=(char)(74-i);

if(b[i]=='l')

sl+=k+"

)

returnsi;

)

publicvoidcount(){

Testpailietp=newTestpailie();

for(intcount=0;count<1024;count++){

//l.假如A參與,B也參與;

booleanal=count/512%2==l?(count/256%2==l?true:false):true;

//2.假如C不參與,D也不參與;

booleana2=count/128%2==0?(count/64%4==0?true:

溫馨提示

  • 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)論