當前位置:編程學習大全網 - 編程語言 - 基礎2019年CSP-J初賽試題(普及組)試題詳解

基礎2019年CSP-J初賽試題(普及組)試題詳解

1.中國的國家頂級域名是?

A.cn B.ch C.chn D.china

答案A

2.二進制數11 1011 1001 0111和01 0110 1110 1011 進行邏輯與運算的結果是?

A. 01 0010 1000 1011 B. 01 0010 1001 0011

C. 01 0010 1000 0001 D. 01 0010 1000 0011

答案D

解析

3.壹個32位整型變量占用的字節數是?

A.32 B.128 C.4 D.8

答案C

解析32÷8=4(字節)

4.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大於0):

s=a;

for(b=1;b<=c;b++)s=s-1;

則與上述程序段功能等價的賦值語句是?

A.s=a-c; B.s=a-b; C.s=s-c; D.s=b-c;

答案A

5.設有100個已排好序的數據元素,采用折半查找時,最大比較次數為?

A.7 B.10 C.6 D.8

答案 A

解析

6.鏈表不具有的特點是?

A. 插入刪除不需要移動元素 B.不必事先估計存儲空間

C.所需空間與線性表長度成正比 D.可隨機訪問任壹元素

答案D

7.7.把8個同樣的球放在5個同樣的袋子裏,允許有的袋子空著不放,問***有多少種不同的分法(如果8個球都放在壹個袋子裏,無論是哪個袋子,都只算同壹種分法)?

A.22 B.24 C.18 D.20

答案C

解析

枚舉:

8.壹棵二叉樹如右圖所示,若采用順序存儲結構,即用壹維數組元素存儲該二叉樹中的結點(根結點的下標為1,若某結點的下標為i,則其左孩子位於下標2i處、右孩子位於下標2i+1處),則該數組的最大下標至少為?

A.6 B.10 C.15. D.12

答案C

解析2^4-1=15

10.319和377的最大公約數是?

A.27 B.33 C.29 D.31

答案C

11.新學期開學了,小胖想減肥,健身教練給小胖制定了兩個訓練方案。方案壹:每次連續跑3公裏可以消耗300千卡(耗時半小時) ;方案二:每次連續跑5公裏可以消耗600千卡(耗時1小時)。小胖每周周壹到周四能抽出半小時跑步,周五到周日能抽出壹小時跑步。另外,教練建議小胖每周最多跑21公裏,否則會損傷膝蓋。請問如果小胖想嚴格執行教練的訓練方案,並且不想損傷膝蓋,每周最多通過跑步消耗多少千卡?

A.3000 B.2500 C.2400 D.2520

答案C

解析

消耗千卡數與時間成正比。

方案壹:

方案二:

為了盡量多消耗千卡,盡量少跑時間,應該盡量多用方案二,每天壹小時最多有三天, ,剩下 ,用方案壹,正好可以鍛煉 ,綜上,最多消耗 。

12.壹副紙牌除掉大小王有52張牌,四種花色,每種花色13張。假設從這52張牌中隨機抽取13張紙牌,則花色壹致的牌數至少是?

A.4 B.2 C.3 D.5

答案A

解析

13.壹-些數字可以顛倒過來看,例如0、1、8顛倒過來還是本身,6顛倒過來是9,9顛倒過來看還是6,其他數字顛倒過來都不構成數字。類似的,壹些多位數也可以顛倒過來看,比如106顛倒過來是901。假設某個城市的車牌只由5位數字組成,每壹位都可以取0到9。請問這個城市最多有多少個車牌倒過來恰好還是原來的車牌?

A.60 B.125 C.75 D.100

答案C

解析壹個五位數倒過來,第壹位變到第五位,第五位變到第壹位,即第壹位倒過來等於第五位,第五位倒過來等於第壹位,有0→0、1→1,8→8,6→9,9→6五種情況。同理,第二位和第四位也有五種情況。第三位倒過來還是第三位,也就是只能說0、1、8三種。根據乘法原理,得***有 。

14.假設壹棵二叉樹的後序遍歷序列為 DGJHEBIFCA ,中序遍歷序列為DBGEHJACIF,則其前序遍歷序列為?

A. ABCDEFGHIJ B. ABDEGHJCFI C. ABDEGJHCFI D. ABDEGHJFIC

答案B

解析

作出二叉樹的圖:

15.15.以下哪個獎項是計算機科學領域的最高獎?

A.圖靈獎 B.魯班獎 C.諾貝爾獎 D.普利策獎

答案C

二、閱讀程序(程序輸入不超過數組或字符串定義的範圍;判斷題正確填√,錯誤填×;除特殊說明外,判斷題1.5分,選擇題3分,***計40分)

1.輸入的字符串只能由小寫字母或大寫字母組成。

2.若將第8行的“i = 1”改為“i = 0”,程序運行時會發生錯誤。

3.若將第8行的“i <= n”改為“i * i <= n”,程序運行結果不會改變。

4.若輸入的字符串全部由大寫字母組成,那麽輸出的字符串就跟輸入的字符串壹樣。

5.若輸入的字符串長度為18,那麽輸入的字符串跟輸出的字符串相比,至多有()個字符不同。

A.18 B.6 C.10 D.1

6.若輸入的字符串長度為(),那麽輸入的字符串跟輸出的字符串相比,至多有36個字符不同。

A.36 B. C.1 D.128

答案

判斷題:×√×√

選擇題:BB

答案

判斷題:√×××

選擇題:AA

解析

判斷題:

4.15行是否執行要看14行,與13行無關。

選擇題:

1.原來是2n,有m對數被減掉,即2n-2m。

2.只存兩個數,即2n-2。

假設輸入的n和m都是正整數,x和y都是在 的範圍內的整數,完成下面的判斷題和單選題:

1.當 時,輸出的值壹定小於 。

2.執行完第27行的"++ans"時,ans —定是偶數。

3.a[i]和b[i]不可能同時大於0。

4.右程序執行到第13行時,x總是小於y,那麽第15行不會被執行。

5.若m個x兩兩不同,且m個y兩兩不同,則輸出的值為()。

A. B. C. D.

6.若m個x兩兩不同,且m個y都相等,則輸出的值為()。

A. B. C. D.

答案

判斷題:×√

選擇題:B

解析

判斷題:

1.當a數組數字重復時,取的是最小值中編號靠前的那個,並不會出錯。

2.f的返回函數永遠是0。

1.如果a數組有重復的數字,則程序運行時會發生錯誤。()

2.如果b數組全為0,則輸出為0。()

3.當n=100時,最壞情況下,與第12行的比較運算執行的次數最接近的是:()。

A. 5000 B. 600 C. 6 D. 100

4.當n=100時,最好情況下,與第12行的比較運算執行的次數最接近的是:()。

A. 100 B. 6 C. 5000 D. 600

5.當n=10時,若b數組滿足,對任意0<=i<n,都有b[i] = i + 1,那麽輸出最大為()。

A. 386 B. 383 C. 384 D. 385

6.(4分)當n=100時,若b數組滿足,對任意0 S i < 71,都有b[i]=1,那麽輸出最小為()。

A. 582 B. 580 C. 579 D. 581

答案

判斷題:×√

選擇題:ADDB

解析

1.(矩陣變幻)有壹個奇幻的矩陣,在不停的變幻,其變幻方式為:數字0變成矩陣 ,數字1變成矩陣 最初該矩陣只有壹個元素0,變幻n次後,矩陣會變成什麽樣?

例如,矩陣最初為: ;矩陣變幻1次後: 矩陣變幻2次後: 輸入壹行壹個不超過10的正整數n。輸出變幻n次後的矩陣。 試補全程序。

提示:

"<<"表示二進制左移運算符,例如<math><semantics><annotation encoding="application/x-tex">(11)_2 << 2 = (1100)_2</annotation></semantics></math>(11)2?<<2=(1100)2?;而“^”表示二進制異或運算符,它將兩個參與運算的數中的每個對應的二進制位—進行比較,若兩個二進制位相同,則運算結果的對應二進制位為0,反之為1。

①處應填()

A. n%2 B. 0 C. t D. 1

②處應填()

A. x-step,y-step B. X,y-step C. x-step,y D.x,y

③處應填()

A. x-step,y-step B. x+step,y+step C. x-step,y D. X,y-step

④處應填()

A. n-1,n%2 B. n,0 C. n,n%2 D. n-1,0

⑤處應填()

A. 1<<(n+1) B. 1<<n C. n+1 D. 1<<(n-1)

答案CDBBB

解析

(計數排序)計數排序是壹個廣泛使用的排序方法。下面的程序使用雙關鍵字計數排序,將n對10000以內的整數,從小到大排序。例如有三對整數(3,4)(3,4)、(2,4)(2,4)、(3,3)(3,3),那麽排序之後應該是(2,4)(2,4)、(3,3)(3,3)、(3,4)(3,4) 。輸入第壹行為nn,接下來nn行,第ii行有兩個數a[i]a[i]和b[i]b[i],分別表示第ii對整數的第壹關鍵字和第二關鍵字。從小到大排序後輸出。數據範圍 且

提示:應先對第二關鍵字排序,再對第壹關鍵字排序。數組ord[]存儲第二關鍵字排序的結果,數組res[]存儲雙關鍵字排序的結果。

試補全程序。

①處應填()

A. ++cnt [i] B. ++cnt[b[i]] C. ++cnt[a[i] * maxs + b[i]] D. ++cnt[a[i]]

②處應填()

A. ord[--cnt[a[i]]] = i B. ord[--cnt[b[i]]] = a[i]

C. ord[--cnt[a[i]]] = b[i] D. ord[--cnt[b[i]]] = i

③處應填()

A. ++cnt[b[i]] B. ++cnt[a[i] * maxs + b[i]] C. ++cnt[a[i]] D. ++cnt [i]

④處應填()

A. res[--cnt[a[ord[i]]]] = ord[i] B. res[--cnt[b[ord[i]]]] = ord[i]

C. res[--cnt[b[i]]] = ord[i] D. res[--cnt[a[i]]] = ord[i]

⑤處應填()

A. a[i], b[i] B. a[res[i]], b[res[i]] C. a[ord[res[i]]]j b[ord[res[i]]] D. a[res[ord[i]]]j b[res[ord[i]]]

答案BDCAB

解析

  • 上一篇:flash如何制作
  • 下一篇:計算機最好50所大學
  • copyright 2024編程學習大全網