2018上半年程序員考試下午真題(一)

程序員 責(zé)任編輯:胡媛 2018-05-31

添加老師微信

備考咨詢

加我微信

摘要:2018上半年程序員考試已結(jié)束,小編為大家整理了2018上半年程序員考試下午真題供考生們參考,以下為第一部分。

● 閱讀以下說明和流程圖,填寫流程圖中的空缺,將解答填入答題紙的對應(yīng)欄內(nèi)。

【說明】

如果一個自然數(shù)N恰好等于它所有不同的真因子(即N的約數(shù)以及1,但不包括N)之和S,則稱該數(shù)為“完美數(shù)”。例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美數(shù)。顯然,6是第1個(即最小的)完美數(shù)。

下面流程圖的功能是求500以內(nèi)所有的完美數(shù)。

【流程圖】

  2018上半年程序員考試下午真題

循環(huán)開始框中要注明:循環(huán)變量=初始值,終值[,步長],步長為1時可以缺省。

如果某自然數(shù)小于其所有真因子之和(例如24<1+2+3+4+6+8+12),則稱該自然數(shù)為虧數(shù):如果某自然數(shù)大于其所有真因子之和(例如8>1+2+4),則稱該自然數(shù)為贏數(shù)如果某自然數(shù)等于從1開始的若干個連續(xù)自然數(shù)之和(例如10=1+2+3+4)則稱該自然數(shù)為三角形數(shù)數(shù)。據(jù)此定義,自然數(shù)496是( )。

供選擇答案:

(1)A.虧數(shù)  B.贏數(shù)  C.完美數(shù),非三角形數(shù) D.完美數(shù)和三角形數(shù)

● 閱讀以下說明和C代碼,填寫程序中的空(1)~(5),將解答寫入答題紙的對應(yīng)欄內(nèi)

【說明】

直接插入排序是一種簡單的排序方法,具體做法是:在插入第i個關(guān)鍵碼時,k1,k2,…,ki-1已經(jīng)排好序,這時將關(guān)鍵碼ki依次與關(guān)鍵碼ki-1,ki-2,…,進(jìn)行比較,找到ki應(yīng)該插入的位置時停下來,將插入位置及其后的關(guān)鍵碼依次向后移動,然后插入ki。

例如,對{17,392,68,36}按升序作直接插入排序時,過程如下:

第1次:將392(i=1)插入有序子序列{17},得到{17,392};

第2次:將68(i=2)插入有序子序列{17,392},得到{17,68,392};

第3次:將36(i=3)插入有序子序列{17,68,392},得到{17,36,68,392},完成排序。

下面函數(shù) insert Sort用直接插入排序?qū)φ麛?shù)序列進(jìn)行升序排列,在main函數(shù)中調(diào)用insert Sort并輸出排序結(jié)果。

【C代碼】

void insert Sort(int data[],int n)

/*體用直接插入排序法將data[0]~ data[n-1]中的n個整數(shù)進(jìn)行升序排列*/

{  int i,j; int tmp;

for(i=1; i   if(data[i]<data[i-1]){ //將data[i]插入有序子序列data[0]~data[i-1]

tmp=data[i]: //備份待插入的元素

data[i]=(1)

for(j=i-2;j>=0&&data[ j ]>tmp;j­­--)  //查找插入位置并將元素后移

(2)       ;

(3)   =tmp; //插入正確位置

}/*if*/

}/*for*/

}/*insert Sort*/

int main()

{    int*bp,*ep;

int n,arr[ ]={17,392,68,36,291,776,843,255}

n=size of(arr)/size of(int);

insert Sort(arr,n);

bp=(  4   ); ep=arr+n;

for(;bp   printf("%d\t",    (5)    );

return 0;

}


>>>>>>2018上半年程序員下午真題匯總

>>>>>>查看更多程序員考試歷年真題

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢在線老師!