CSP 2019 入門組第一輪


1.中國的國家頂級域名是()[2分]
.cn
.ch
.chn
.china
2.二進制數11 1011 1001 0111和01 0110 1110 1011進行邏輯與運算的結果是()[2分]
01 0010 1000 1011
01 0010 1001 0011
01 0010 1000 0001
01 0010 1000 0011
3.一個32位整型變量占用()個字節[2分]
32
128
4
8
4.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大於0)
s = a;
for (b = 1; b <= c; b++) s = s - 1;
則與上述程序段功能等價的賦值語句是()[2分]
s = a - c;
s = a - b;
s = s - c;
s = b - c;
5.設有100個已排好序的數據元素,采用折半查找時,最大比較次數為()[2分]
7
10
6
8
6.鏈表不具有的特點是()[2分]
插入刪除不需要移動元素
不必事先估計存儲空間
所需空間與線性表長度成正比
可隨機訪問任一元素
7.把8個同樣的球放在5個同樣的袋子里,允許有的袋子空着不放,問共有多少種不同的分法?()
提示:如果8個球都放在一個袋子里,無論是哪個袋子,都只算同一種分法[2分]
22
24
18
20
8.一棵二叉樹如右圖所示,若采用順序存儲結構,即用一維數組元素存儲該二叉樹中的結點(根結點的下標為1,若某結點的下標為i ,則其左孩子位於下標2i處、右孩子位於下標2i+l處),則該數組的最大下標至少為()
[2分]
6
10
15
12
9.100以內最大的素數是()[2分]
89
97
91
93
10.319和377的最大公約數是()[2分]
27
33
29
31
11.新學期開學了,小胖想減肥,健身教練給小胖制定了兩個訓練方案。
方案一:每次連續跑3公里可以消耗300千卡(耗時半小時);
方案二:每次連續跑5公里可以消耗600千卡(耗時1小時)。
小胖每周周一到周四能抽出半小時跑步,周五到周日能抽出一小時跑步。
另外,教練建議小胖每周最多跑21公里,否則會損傷膝蓋。
請問如果小胖想嚴格執行教練的訓練方案,並且不想損傷膝蓋,每周最多通過跑步消耗多少千卡?()[2分]
3000
2500
2400
2520
12.—副紙牌除掉大小王有52張牌,四種花色,每種花色13張。假設從這52張牌中隨機抽取13張紙牌,則至少()張牌的花色一致[2分]
4
2
3
5
13.—些數字可以顛倒過來看,例如0、1、8顛倒過來還是本身,6顛倒過來是9, 9顛倒過來看還是6,其他數字顛倒過來都不構成數字。
類似的,一些多位數也可以顛倒過來看,比如106顛倒過來是901。
假設某個城市的車牌只由5位數字組成,每一位都可以取0到9。
請問這個城市最多有多少個車牌倒過來恰好還是原來的車牌?[2分]
60
125
75
100
14.假設一棵二叉樹的后序遍歷序列為DGJHEBIFCA,中序遍歷序列為DBGEHJACIF,則其前序遍歷序列為()[2分]
ABCDEFGHIJ
ABDEGHJCFI
ABDEGJHCFI
ABDEGHJFIC
15.以下哪個獎項是計算機科學領域的最高獎?()[2分]
圖靈獎
魯班獎
諾貝爾獎
普利策獎
 
16.閱讀程序(程序輸入不超過數組或字符串定義的范圍;判斷題正確填√,錯誤填×;除特殊說明外,判斷題1.5分,選擇題3分,共計40分)

1.閱讀程序1:輸入的字符串只能由小寫字母或大寫字母組成。()[1.5分]

2.閱讀程序1:若將第8行的“i = 1”改為“i = 0”,程序運行時會發生錯誤。()[1.5分]
3.閱讀程序1:若將第8行的“i <= n”改為“i * i <= n”,程序運行結果不會改變。()[1.5分]
4.閱讀程序1:若輸入的字符串全部由大寫字母組成,那么輸出的字符串就跟輸入的字符串一樣。()[1.5分]
5.閱讀程序1:若輸入的字符串長度為18,那么輸入的字符串跟輸出的字符串相比,至多有()個字符不同。[3分]
18
6
10
1
6.若輸入的字符串長度為(),那么輸入的字符串跟輸出的字符串相比,至多有36個字符不同[3分]
36
100000
1
128
 
17.閱讀程序
假設輸入的n和m都是正整數,x和y都是在[1, n]的范圍內的整數,完成下面的判斷題和選擇題
1.當m>0時,輸出的值一定小於2n。()[1.5分]
2.執行完第27行的"++ans"時,ans —定是偶數。()[1.5分]
3.a[i]和b[i]不可能同時大於0。()[1.5分]
4.右程序執行到第13行時,x總是小於y,那么第15行不會被執行。()[1.5分]
5.若m個x兩兩不同,且m個y兩兩不同,則輸出的值為()[3分]
2n-2m
2n+2
2n-2
2n
6.若m個x兩兩不同,且m個y都相等,則輸出的值為()[3分]
2n-2
2n
2m
2n-2m
 
18.閱讀程序
1.如果a數組有重復的數字,則程序運行時會發生錯誤。()[1.5分]
2.如果b數組全為0,則輸出為0。()[1.5分]
3.當n=100時,最壞情況下,與第12行的比較運算執行的次數最接近的是:()[3分]
5000
600
6
100
4.當n=100時,最好情況下,與第12行的比較運算執行的次數最接近的是:()[3分]
100
6
5000
600
5.當n=10時,若b數組滿足,對任意0<=i<n,都有b[i] = i + 1,那么輸出最大為()[3分]
386
383
384
385
6.當n=100時,若b數組滿足,對任意0 S i < 71,都有b[i]=1,那么輸出最小為()[4分]
582
580
579
581
 
19.補充程序

 

 

1.①處應填()[3分]
n%2
0
t
1
2.②處應填()[3分]
x-step,y-step
,y-step
x-step,y
x,y
3.③處應填()[3分]
x-step,y-step
x+step,y+step
x-step,y
X,y-step
4.④處應填()[3分]
n-1,n%2
n,0
n,n%2
n-1,0
5.⑤處應填()[3分]
1<<(n+1)
1<<n
n+1
1<<(n-1)

 20.補充程序

(計數排序)計數排序是一個廣泛使用的排序方法。下面的程序使用雙關鍵字計數排序,將n對10000以內的整數,從小到大排序。
1.①處應填()[3分]
++cnt [i]
++cnt[b[i]]
++cnt[a[i] * maxs + b[i]]
++cnt[a[i]]
2.②處應填()[3分]
ord[--cnt[a[i]]] = i
ord[--cnt[b[i]]] = a[i]
ord[--cnt[a[i]]] = b[i]
ord[--cnt[b[i]]] = i
3.③處應填()[3分]
++cnt[b[i]]
++cnt[a[i] * maxs + b[i]]
++cnt[a[i]]
++cnt [i]
4.④處應填()[3分]
res[--cnt[a[ord[i]]]] = ord[i]
res[--cnt[b[ord[i]]]] = ord[i]
res[--cnt[b[i]]] = ord[i]
res[--cnt[a[i]]] = ord[i]
5.⑤處應填()[3分]
a[i], b[i]
a[res[i]], b[res[i]]
a[ord[res[i]]]j b[ord[res[i]]]
a[res[ord[i]]]j b[res[ord[i]]]
 
https://blog.csdn.net/weixin_39104847/article/details/108671116


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM