版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
初級程序員2018下半年下午試題(總分:89.30,做題時間:150分鐘)試題一(總題數(shù):1,分數(shù):14.90)1.
閱讀以下說明和流程圖,填寫流程圖中的空缺。
【說明】
設(shè)[a1b1],[a2,b2]…,,[an,bn]是數(shù)軸上從左到右排列的n個互不重疊的區(qū)間(a1<b1<a2<b2<…<an<bn)以下流程圖將一個新的區(qū)間[A,B](A<B)添加到上述區(qū)間集,形成新的從左到右排列的若干個互不重疊的區(qū)間(若A、B落在原有的兩個區(qū)間,則以原有區(qū)間最左端點和最右端點為基準,形成新的區(qū)間)最后依次輸出這些區(qū)間的端點。
例如,給定區(qū)間集[1,2],[4,6],[8,10],[13,15],[17,20],添加區(qū)間[5,14]后,依次輸出1,2,4,15,17,20,表示合并后的區(qū)間集[1,2],[4,15],[17,20]。
該流程圖采用的算法是:先在a1,b1,a2,b2,…,anbn中掃描定位A點,再繼續(xù)描定位B點,在掃描過程中隨時輸出已確定的區(qū)間的端點值。
【流程圖】
(分數(shù):14.90)__________________________________________________________________________________________
正確答案:((1)A
(2)ai
(3)bi
(4)A,B
(5)B)解析:試題二(總題數(shù):1,分數(shù):14.80).閱讀以下C語言代碼,回答下列問題。(分數(shù):14.80)1.
【C語言代碼1】
#include<stdio.h>
intmain()
{
inta,tmp,b=0;
scanf("%d",&a);
tmp=a<0?-a:a;
while(tmp){
b=b*10+tmp%10;
tmp=tmp/10;
}
if(a==b||-a==b)
printf("Palindromicnumber.\n");
printf("a=%db=%d\n",a,b);
return0;
}
【問題1】
寫出【C語言代碼1】運行時分別輸入-1331、795的輸出結(jié)果。(分數(shù):7.40)__________________________________________________________________________________________
正確答案:(輸入-1331的結(jié)果是:
Palindromicnumber.
a=-1331,b=1331
輸入795的結(jié)果是:
a=795,b=597)解析:2.
【C語言代碼2】
#include<stdio.h>
intmain()
{
chargrade;
intpoints;
for(grade='A';grade<'F;grade++)
{
switch(grade){
case
'A':
points=4;break;
case
'B':
points=3;
case
'C':
points=2;
case
'D':
points=1;break;
case
'E':
case
'W':
points=0;
}
if(points>0)
printf("Passed,points=%d\n",points);
else
printf("Failed\n");
}
return=0;
}
【問題2】
寫出【C語言代碼2】運行時的輸出結(jié)果。(分數(shù):7.40)__________________________________________________________________________________________
正確答案:(輸出結(jié)果是:
Passed,point=4
Passed,point=1
Passed,point=1
Passed,point=1
Failed)解析:試題三(總題數(shù):1,分數(shù):14.90)1.
閱讀以下說明和C語言代碼,填寫程序中的空缺處。
【說明】
某地電價分三檔:
(1)當(dāng)月用電量不超過180度時,每度電0.5元。
(2)當(dāng)月用電量超出180度但不超過360度的部分,每度電0.55元。
(3)當(dāng)月用電量超過360度的部分,每度電0.7元。
例如,某戶A一個月的用電量為150度,其電費為150×0.5=75.00元;某戶B用電量為280度,其電費為180×0.5+(280-180)×0.55=145.00元;某戶C用電量為450度,其意費為180×0.5+(360-180)×0.55+(450-360)×0.7=90.0+99.0+63.0=252.00元。
下面程序運行時讀入m(m>0)個住戶某月的用電量,計算該月每戶應(yīng)繳的電費并輸出,同時找出這m個住戶中該月的最大用電量和最小用電量。
【C代碼】
#include<stdio.h>
#defineMAXQT100000
//用電量的最大值
doubleproc(intqt)
{//計算并返回月用電量qt時的電量
Doublefee=0.0;
if(______)
fee=qt*0.5;
else
if(______)
fee=180*0.5+(qt-180)*0.55;
else
fee=______;
returnfee;
}
intmain()
{
intm;
//住戶數(shù)
intqt,minimum=MAXQT,maximum=0;
//用電量,最小用電量,最大用電量
scanf("%d",&m);
while(m>0){
scanf("%d",&qt);
if(qt<0||qt>MAXQT)continue;
printf("%.21f\n",proc(qt));
if(______)
minimum=qt;
elseif(______)
maximum=qt;
______;
}
printf("maximum=%d,minimum=%d\n",maximum,minimum);
return0;
}
(分數(shù):14.90)__________________________________________________________________________________________
正確答案:(qt<=180
qt<=360
180*0.5+(360-180)*0.55+(qt-360)*0.7
minimum>qt
maximum<qt
m--)解析:試題四(總題數(shù):1,分數(shù):14.90)1.
閱讀以下說明和C語言代碼,填寫程序中的空缺處。
【說明】
函數(shù)insertElem的功能是在元素升序排列的數(shù)組中加入一個新元素并保持數(shù)組元素升序排列的特點。在maln函數(shù)中輸入若干表示價值的實數(shù),輸入為0或負數(shù)或?qū)崝?shù)個數(shù)超出限定數(shù)量時終止,調(diào)用insertElem將價格按升序保存在數(shù)組pdata中,最后輸出所輸入的實數(shù)。
【C語言代碼】
#defineARRSZ10001
voidinsertElem(doublearr[],intn,doubleelem)
/*arr空間足夠大且其元素按照升序排列,將elem插入arr中并保持其升序特點*/
{inti;
doubletmp;
if(n==0||elem>=arr[n-1]){______=elem;return;)
for(i=n-1;i>=0&&elem<arr[i];i--){//查找插入位置并將元素后移
______;
}
______=elem;
//將元素放入最終位置
}
intmain()
{intidx,n=0;
Doubleprice,pdata[ARRSZ];
do
{
scanf("%lf",&price);
if(price<=0)______;
insertElem(______);//調(diào)用insertElem將price的值加入pdata數(shù)組
n++;
}while(n<ARRSZ);
for(idx=0;______;idx++)
//按升序輸出所輸入的實數(shù)
printf("%2lf\t",pdata[idx]);
return0;
}
(分數(shù):14.90)__________________________________________________________________________________________
正確答案:(arr[n]
arr[i+1]=arr[i]
arr[i+1]
break
pdata,n,price
idx<n)解析:試題五(總題數(shù):1,分數(shù):14.90)1.
閱讀以下說明和Java程序,填寫程序中的空缺處。
【說明】
以下Java代碼實現(xiàn)一個簡單樂器系統(tǒng),音樂類(Music)可以使用各類樂器(Instrument)進行演奏和調(diào)音等操作,對部分樂器進行建模,其類圖如下圖所示,包括樂器(Instrument)、打擊樂器(Percussion)、弦樂器(Stringed)、管樂器(Wind)、木管樂器(Woodwind)、銅管樂器(Brass)。
類圖
【Java代碼】
importjavautilArrayList.
enumNote(/'枚舉各種音調(diào)'/)
MIDDLE_C.C_SHARP,B_FLAT,
//其他略
}
abstractclassinstrument(/'樂器')
______//play方法
abstractvoidadjust()
//adjust抽象方法
}
classWind______{
publicvoidplay(Noten){System,out,println("Wind.play()"+n);)
publicvoidadjust(){System,out,println("Wind.adjust()");}
}
/*類Percussion和Stringed實現(xiàn)代碼略*/
classBrass______{
publicvoidplay(Noten){System,out,println("Brass.play()"+n);}
publicvoidadjust(){System,out,println("Brass,adjust()");}
}
classWoodwindextendsWind{
publicvoidplay(Noten){System.out.println("Woodwind.play()"+n);}
}
publicclassMusic{
voidtune(Instrumenti){i.play(Note.MIDDLE_C);
}
voidadjust(Instrumenti){i.adjust();
}
voidtuneAll______e
{
for(intj=0;j<e.size();j++){
Instrumenti=e.get(j);
adjust(i);
tune(i);
}
}
publicstaticvoidmain(String[]args){
______music=newMusic();
ArrayList<Instument>orchestra=newArrayList<>();
orchestra.add(newWind());
orchestra.add(newWoodw/nd());
music.tuneAll(orchestra):
}
}
(分數(shù):14.90)__________________________________________________________________________________________
正確答案:(abstractvoidplay(Noten)
extendsinstrument
extendsWind
ArrayList<Instrument>
Music)解析:試題六(總題數(shù):1,分數(shù):14.90)1.
閱讀下列說明和C++代碼,填寫程序中的空缺處。
【說明】
以下C++代碼實現(xiàn)一個簡單樂器系統(tǒng),音樂類(Music)可以使用各類樂器(Instument)進行演奏和調(diào)音等操作。對部分樂器進行建模,其類圖如下圖所示,包括樂器(Instrument)、打擊樂器(Perussion)、弦樂器(Stringed)、管樂器(Wind)、木管樂器(Woodwind)、銅管樂器(Brass)。
類圖
【C++代碼】
#include<iostream>
#include<vector>
usingnamespacestd;
enumNote{/*枚舉各種音調(diào)*/
MIDDLE_C,C_SHAR,B_FLAT
//其他略
};
classInstrument
{/*抽象基類,樂器*/)
public:
______;
//純虛函數(shù)play
virtualvoidadjust()=0;
//adjust函數(shù)接口
};
classWind:______{
public:
voidplay(Noten){cout<<"Wind.play()"<<n>>endl;}
voidadjust(){cout<<"Wind.adjust()"<<endl;}
};
/*類Percussion和Stringed實現(xiàn)代碼略*/
classBrass:______{
public:
voidplay(Noten){cout<<"Brass.play()"<<n<<endl;}
voidadjust(){cout<<"Brass.adjust()"<<endl;}
};
classWoodwind:publicWind{
public:
voidplay(Noten)(cout<<"Woodwind.play()"<<n<<endl;}
};
classMusic{
public:
voidtune(Instrument*i)
{i->play(MIDDLE_C);}
voidadjust(Instrument*i)
{i->adjust();}
voidtuneAll(______v){/*為每個樂器定調(diào)*/
vector<Instrument*>::iteratorit;
for(it=v.begin();it!=v.end();it++)
{
this->adjust(*it);
this->tune(*it);
}
}
};
intmain(){
______music=newMusic();
vector<Instrument*>orchestra;
orchestra.push_back(new
Wind());
orchestra.push_back(newWoodwind());
music->tuneAll(orchestra);
}
【C++代碼】
#include<iostream>
#include<vector>
usingnamespacestd;
enumNote{/*枚舉各種高調(diào)*/
MIDDLE_C,C_SHARP,B_FLAT//其他略
};
classInstrument(/*抽象基類,樂器*/
public:
______;//純虛函數(shù)play
virtualvoidadjust()=0;
//adjust函數(shù)接口
};
classWind:______{
public:
voidplay(Noten){count<<"Wind.play()"<<n<<endl;}
voidadjust(){count<<"Wind.adjust()"<<endl;}
};
/*類Percussion和Stringed實現(xiàn)代碼略*/
classBrass:______{
public:
voidplay(Noten){cout<
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西中醫(yī)藥大學(xué)《兒童美術(shù)創(chuàng)作與活動組織》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西職業(yè)技術(shù)學(xué)院《教師專業(yè)成長入門(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024至2030年蒸煮復(fù)合包裝袋項目投資價值分析報告
- 2024至2030年紅外線發(fā)射管背光源項目投資價值分析報告
- 組集體林地合同范例
- 婚慶設(shè)備購買合同范例
- 保潔開荒協(xié)議合同范例
- 柜臺加工合同范例
- 2024至2030年全自動液基薄層細胞制片系統(tǒng)項目投資價值分析報告
- 2024至2030年三節(jié)走珠滑軌項目投資價值分析報告
- 2024年重慶市安全員C證考試(專職安全員)題庫及答案
- 2024年四川省成都市公開招聘警務(wù)輔助人員(輔警)筆試必刷測試卷(1)含答案
- 中建塔樓幕墻屋面環(huán)軌拆卸專項施工方案
- 《工業(yè)互聯(lián)網(wǎng)平臺規(guī)劃設(shè)計方案》
- 《失血性休克查房》課件
- 專題04二元一次方程組的應(yīng)用解答120題(12種解題模型)專項訓(xùn)練(解析版)
- 賀州房地產(chǎn)市場月報2024年08月
- 健康減肥課件英語
- 考點 23 溶解度及溶解度曲線(解析版)
- 湘教版九年級上冊數(shù)學(xué)期末考試試卷附答案
- 中學(xué)輿情處理登記表
評論
0/150
提交評論