CSPJ入门级认证第一轮试题及答案.docx

上传人:b****6 文档编号:8318001 上传时间:2023-01-30 格式:DOCX 页数:16 大小:29.33KB
下载 相关 举报
CSPJ入门级认证第一轮试题及答案.docx_第1页
第1页 / 共16页
CSPJ入门级认证第一轮试题及答案.docx_第2页
第2页 / 共16页
CSPJ入门级认证第一轮试题及答案.docx_第3页
第3页 / 共16页
CSPJ入门级认证第一轮试题及答案.docx_第4页
第4页 / 共16页
CSPJ入门级认证第一轮试题及答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

CSPJ入门级认证第一轮试题及答案.docx

《CSPJ入门级认证第一轮试题及答案.docx》由会员分享,可在线阅读,更多相关《CSPJ入门级认证第一轮试题及答案.docx(16页珍藏版)》请在冰豆网上搜索。

CSPJ入门级认证第一轮试题及答案.docx

CSPJ入门级认证第一轮试题及答案

2020CCF非专业级别软件能力认证第一轮

(CSP-J)入门级C++语言试题

认证时间:

2020年10月11H14:

30-16:

30

考生注意事项:

•试题纸共有10贝.答也纸共有1贝,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

•不得使用任何电子设备(如计算器、丁机、电子词典等)或查阅任何书絡资料。

1.单项选择题(共15题,每题2分,共计沁分:

每题有旦仅有一个正确选项)

1.在内心储器中每个存储单元都被賦予一个唯一的序号,称为()。

A・下标B.地址C・序号D.编号

2.编译器的主要功能足()o

A.将源程序翻译成机器指令代码

».将一种高级语言翻译成另一种高级谣言

C.将源程序重新组合

D.将低级语言翻洋成高级语言

3・设x=true,y=true,z二falsa以卜逻辑运算农达式值为真的是()□

A・(xAy)AzB・xA(zVy)Az

C・(xAy)V(zVx)I),(yVz)AxAz

4.现冇一张分辨率为2048x1024像索的32位真彩色图像。

请问要心储这张图像,击耍多大的存储空间?

()。

A.4MBB・8MBC・32MBD.16MB

5.冒泡排序算法的伪代码如卜:

输入:

数组L,n>1,输出:

按非递减顺序排序的L。

算法BubbleSort:

1.FLAGJn//标记被交换的最后元素位置

2.whileFLAG>1do

3.k<-FLAG一1

4.FLAG<-l

5.forJ=1tokdo

6.ifL(J)>L(j+1)thendo

7・L(j)<->L(J+l)

8.FLAG<-j

个数用以上胃泡排存算汰进行排}?

最少希要比较多少次?

)o

A.n

B・n-2

C.n2

D.n-1

e.设4是八个实数的数组,考虑下mi的递nm:

XYZ(A[l..n])

1・ifn=lthenreturnA[1]

2.elsetemp<-XYZ(A[1..n-1J)

3.iftemp

4.lhenreturntemp

5.elsereturnA[n]

请问算法XYZ的输岀足什么?

()oA.A数组的平均

C.A数组的最大值

7.链衣不具有的特点足()o

A.插入删除不需要移动元素

C.不必爭先佔计存储空间

8.有10个顶点的无向图至少賊该有(

A.10B.12

9.:

进制数1011转换成十进制数是(

扎10B.13

B・A数组的员小值

D・A数组的中值

B・可随机访问任一元素

D.所需空间与纟戈性农长度成正比

)条边才能确保是一个连通图。

C.9D・11

)o

C・11D・12

 

10•五个小朋友并排站成•列,英中有两个小朋友是双胞胎,如果要求这两个双胞胎必须相邻,则有()种不同排列方法?

A.24B.36C・72D・48

11.下图屮所使用的数据结构足()。

A.哈希表B.二叉树C.栈1).队列

 

<

D.

)o

6

12•独根树的席度为loH;冇61个结点的完金二义树的崗度为

九7B.5C.8

13•十支纪年法是中国传统的纪年方法,11110个天十和12个地支组合成60个天十地支。

山公历年份可以根据以下公式和农格换算出对应的夭十地支。

天干二(公历年份)除以30所得余数

地支=(公历年份)除以12所得余数

天干

r

5

4

5

6

7

8

9

0

1

2

3

地支

f

C

4

5

6

7

8

9

10

11

0

1

2

 

例如,今年是2020年,2020除以10余数为0,査表为"庚匕2020除以12,余数为4,査表为"子匕所以今年是庚子年。

请问1949年的天干地支足(

C.己卯

0.己酉

A.

己亥B.己幵

14e10

个三好学生名额分配到7

个班级,每个班级至少有一个名额,一共有

)种爪同的分配方案.

A.

56B.84

C.72

D.504

15・有五副不同颜色的于套(共10只于•套,毎副于•套左右于•各1只),•次性从中取6只F套,请问恰好能配成两副『套的不同取法有()种。

A.30B.150C・180D・120

二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填讥错误填&除特殊说明外,判断题「5分,选择题3分,共计40分)

01frinclude

02#inelude

03usingnamespacestd;

04

05charencoder[26]=,0};

06chardecode叫26];

stringst;

08

09

10

11

12

13

14

15

16

17

18

19

07

intmain(){intk=0;

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

if(encoderfi]!

=0)卄k;

for(charx='A';x<='Z';++x){boolflag=true;

-For(inti=0;i<26;++i)if(encoder[i]==x){flag=false;break;

CCFCSPJ2020笫_轮C++iSrt试题

第顶,共10页

20

}

21

if(flag){

22

encoder[k]=x;

23

++k;

24

}

25

}

26

for(inti=0;i<26;

++i)

27

decoder[encoder[i]-

•A*]=i-h•A1;

28

cin>>st;

29

for(inti=0;i

length();卄i)

30

st[i]=decoder[st[i]

-A];

31

cout<

32

return0;

33

}

•判断题

1)输入的字符串应当只山人丐字母组成,否则在访问数组时可能越界。

()

2)若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样:

()

3)将第12行的"i<26少改为“i<16”,程序运行结果不会改变。

()

4)将第26行的“i<26”改为“i<16”,程序运行结果不会改变。

()

•单选题

5)若输出的字符串为“ABCABCABCA”,则下列说法正确的是()。

A.输入的字符巾中既有A又有P

B.输入的字符吊中既有S又有B

C.输入的字符串中既冇S乂冇P

D.输入的字符串屮既有A乂有B

6)若输出的字符串为“CSPCSPCSPCSPX则F列说法正确的是()。

A.输入的字符串中既有3乂有R

B.输入的字符串中既右P又右K

C.输入的字符串中既有J又有K

D-愉入的字符串中既冇P又冇R

01#include

02usingnamespacestd;

03

04

longlongn,ans;

05

intk,len;

06

longlongd[1000000];

07

08

intmain(){

09

cin>>n>>k;

10

d[0]=0;

11

len=1;

12

ans=0;

13

for(longlongi=0;i<

n;++i){

14

++d[0];

15

-For(intj=0;j+1<

len;++j){

16

讦(d[j]==k){

17

d[j]=0;

18

d[j+1]+=1;

19

++ans;

20

}

21

}

22

if(d[len-1]==k){

23

d[len-1]=0;

24

d[len]=1;

25

++len;

26

++ans;

27

}

28

}

29

cout<

30

return0;

31

}

k都是不超过10000的正整数.完

假设输入的n是不超过的正整数,成下面的判断題和单选题,

•刿断题

1)若则输Ilians时,len=n<>

2)

若k>l,则输出ans时,

len一定小于n0

3)

若k>l,则输出ans时,

klen一定大于no

•单选题

4)若输入的n等于1卩5,输入的k为止则输岀等于()°

A・(13":

L0i5)/2B・(辺龙+1015)/2C・1D・1015

5)若输入的n等十205,891,132,094,649(即3初),输入的k为3,则输出等于()O

A・G沁・1)/2B・33®C・330-1D.(3泌41)/2

6)若输入的D等+100,010,002,000,090,输入的k为10则输出等于()。

A.11,112,222,444,543B.11,122,222,444,453

3.

C.11,122,222,444,543D.11,112,222,444,453

01#inelude

02#include

03usingnamespacestd;04

05intn;

06intd[50][2];

07intans;

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

voiddfs(intn,intsum)if(n==1){

ans=max(sum,ans);return;

}

for(inti=1;ix=d[i][0],y=-1][0]=a-1〕[1]=b(intj=i;

intintd[id[ifor

d[j][0]=d[jints

++i){bd[i][l];

+x;

+y;

j

+1][0],d[j][l]=d[j+1][1];abs(b-y);

dfs(n・1,sum+s);

 

23for(intj==n•1;j>i;・・j)

24d[j][0]=d[j・1][0],d[j][l]=d[j・1][1];

25d[i-1][0]=a,d[i・1][1]=b;

26d[i][0]=x,d[i][l]=y;

27}

28}

29

30intmain(){

31cin〉>n;

32for(inti=0;i

33cin>>d[i][0];

34for(irrti=0;i

35cin>>d[i][1];

36日ns=0;

37dfs(n,0);

38cout<

39return0;

40}

!

设输入的n是不趙过50的正整数,d[i][0].d[i][l]都是不超过100%的正整数,完成下面的判断题和单选题:

•判断题

1)若输入n为6此程序可能会死衛环或发主运行错课。

()2)若输入n为20.接下來的输入全为0,则输出为乩()3)输出的数一定不小于输入的d[i][0]和的任意一个。

()

•单选题

4)若输入的n为20,接下來的输入足20个9和20个0,则输出为

()O

A.1917B.1908C.1881I).1890

5)若输入的n为30,接下来的输入是30个0和30个5,则输出为

()。

A.2020B.2030C・2010I).2000

6)(4分)若输入的n为15,接卜•来的输入是15到1,以及15到1,则输出为()O

A.2420B.2220C.2440[).2240

3.完善程序(单选题,每小题3分.共计30分)

I.(质因数分解)给出正整数m试输出将n质因数分解的结果,结果从小到大输出。

例如:

输入n=120,程序应该输出22235,表示120=2X2X2X3X5o输入保证2WnWl少。

提示:

先从小到大枚举变量i.然后川i不停试除n来寻找所有的质因子。

试补全程序。

01#inelude

02usingnamespacestd;

03

04intn»i;

05

06intmain(){

07scanf(H%dH&n);

08

for(i=①;②<=n;i++){

09

③{

10

printf(H%d

”,i);

11

n=n/

1;

12

}

13

}

14

讦(④)

15

printf(f,%d”

⑤);

16

return0;

17

}

1)

①处应填()

A.

n・1

B・

0

C.1

D・

2

2)

②处应填()

A.

n/i

B.

n/(i♦i)

C.i♦i*i

I).

i*i

3)

③处应填()

A.

if(i*i<=

n)

B.

if(n%i==0)

C.

while(i♦i

<=

n)

D・

while(n%i==

0)

4)

④处应填()

A.

n>1

B,

n<=1

C・i+ivn

D.

i

5)

⑤处用境()

A.

2

B.

1

C・n/i

1).

n

2.(最小区间覆盖)给出n个区间,第i个区间的左右端点是现在要在这些区间中选出若干个,使得区间[叭m]被所选区间的并覆盖(即每•个OWiWm祁任某个所选的区间屮)。

保证答案存化.求所选区间个数的最小值。

输入第•行包含两个胳数n和m(lWn^5000,l^m^l09)o接卜•来nfr,每行两个整数刃,bi(0Wa「b’Wm)。

提示:

使用贪心法解决这个问题。

先me(n2)的时间复朵度排序.然后贪心选择这些区间。

试补全程序。

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

#inelude

usingnamespacestd;

constintMAXN=5000;

intn,m;

structsegment{inta,b;}A[MAXN];

voidsort()//排序

-For(inti=0;i

segmentt

}

=A[j];

int

main()

tin>>n-For(int

cin>>sort();intp=for(inti=1;

if(③)

>>m;i=0;A[i].a

i>A[i]・b;

i

A[p++]=A[i];n=P;intans=0,r=0;intq=0;while(r

while(X)q++;

⑤;ans++;

}

cout<

 

1)①处应填()

A.A[j]・b

C.A[j]・a

B.A[j].b>A[j-1].b

D.A[j].a>A[j-l].a

 

2)

②处W填(

A.

A[j-

1]=

A[j];

A[j]

=t;

B.

A[j+

1]=

A[j];

A[j]

=t;

C.

A[j]=

=A[j

・U;

A[j・

1]=t;

D・

A[j]=

=A[j

•1];

A[j+

1]=t;

3)③处应填()

A.A[i].b

C.A[i].b>A[p•l].bD・

4)④处应填()

A.q+1

B.q+1

C・q

D・q

5)⑤处应填()

A.r=max(r,A[q+1].a)B・

C.

A[i]・b>A[i・1].b

A[i].b

r=max(r,A[q]・b)q++

r=max(r,A[q+1].b)D.

CSP-J1参考答案:

单项选择

AADCCBAAAAADCAA

阅读程序

3)xVxBCC

完善程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1