A. CSP-J初赛模拟试题6

    客观题

CSP-J初赛模拟试题6

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)

1.2024的因子与质因子分别有( )个。

{{ select(1) }}

  • A.18和3
  • B.16和3
  • 15和3
  • 16和4

2.使用邻接矩阵表示N个结点的有向图,所需要的存储空间为( )。

{{ select(2) }}

  • A.Nx(N+1)
  • B.N2
  • C.Nx(N-1)
  • D.Nx(N-1)/2

3在 C++程序中,表达式a%=b与下列哪个表达式是等价的?( ).

{{ select(3) }}

  • A. a=%b
  • B. a/=b
  • C. a=b%a
  • D. a=a%b

4.线性表若采用链表存储结构,则要求内存中可用存储单元地址( )

{{ select(4) }}

  • A.必须连续
  • B.必须不连续
  • C.连续或不连续都行
  • D.部分连续

我们输人一个新闻网站的网址便可访问该网站,其中用到的网络协议是( )。

{{ select(5) }}

  • A. DNS
  • B.FTP
  • C.SSH
  • D.TELNET

6.以下哪个不属于 STL 中栈的操作函数?( ).

{{ select(6) }}

  • A.empty
  • B.front
  • C.push
  • D.pop

7.平面上任取n个整点(横坐标和纵坐标都是整数),其中一定存在两个点,它中点也是整点,那么n至少是()。

{{ select(7) }}

  • A.4
  • B.5
  • C.6
  • D.7

8.以下哪个操作属于位运算范畴?( )

{{ select(8) }}

  • A.&&
  • B.ll
  • C.>>>
  • D.^

9. 关于树这种数据结构,下面的说法中哪个是正确的?( )

{{ select(9) }}

  • A.满二叉树的结点总数一定是奇数
  • B.完全二叉树的结点总数一定是奇数
  • C.树形结构只有双亲表示法和孩子表示法
  • D.二叉树的遍历方法只有前序遍历法和后序遍历法

10.以下哪个选项不属于头文件cmath?( )

{{ select(10) }}

  • A.find(iterator first, iterator last, int x)
  • B.abs(int x)
  • C.ceil(double x)
  • D.pow(double x,double y)

11.在C++语言中,表达式5&4|3的值等于()。

{{ select(11) }}

  • A.7
  • B.5
  • C.4
  • D.3

12.定义变量doublen,如果下面的代码输入为1000,则输出最接近( ).

{{ select(12) }}

  • A.0
  • B.-5
  • C.-7
  • D.7

13.在图的广度优先搜索中,要维护一个标识数组表示已经访问过的图的结点,需( )数据结构存放结点以实现遍历。

{{ select(13) }}

  • A. 栈
  • B.队列
  • C.哈希表
  • D.堆

14.从一个6x6的棋盘(不可旋转)中选取不在同一行也不在同一列的两个方格,共( )种方法。

{{ select(14) }}

  • A.480
  • B.450
  • C.360
  • D.720

15.下列关于集合的说法哪个不正确?( )

{{ select(15) }}

  • A.一个元素是否属于一个集合是确定的
  • B.集合中的元素两两不同
  • C.0属于空集
  • D.集合中的元素不存在先后次序

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

(1)

判断题

16.若去掉第6行,程序的输出结果不受任何影响。( )

{{ select(16) }}

  • 正确
  • 不正确

17.若去掉第8行,程序的输出结果中的数字总数不变。( )

{{ select(17) }}

  • 正确
  • 不正确

18.程序的输出结果是一个从小到大排列的整数序列。

{{ select(18) }}

  • 正确
  • 不正确

19.将第10行中的s.size()替换成s.length(),程序的运行结果不会改变。( )

{{ select(19) }}

  • 正确
  • 不正确

选择题

20.将第13行s.insert(k)替换成 for(int i=1;i<=6;i++)s.insert(i),则输出

选择题 为()。

{{ select(20) }}

  • A.1 2 3 4 5 6
  • B.6 5 4 3 2 1
  • C.1 2 3 6 5 4
  • D.1~6 随机分布值

21.将第13行s.insert(k)替换成for(int i=1;i<=7;i++)s.insert(i),第20行替换为 int x=i+1,第21行替换为int y=i,则输出为()。

{{ select(21) }}

  • A.1 2 3 4 5 6
  • B.6 5 4 3 2 1
  • C.2 3 4 5 6 7 1
  • D.2 3 4 5 6 7

(2) 注:输入为8位数字。

判断题

22.将第3行中的-1改为0,程序的运行不受任何影响。( )

{{ select(22) }}

  • 正确
  • 不正确

23.去掉第15行中的&&s[1]==s[4]&&s[1]==s[6],程序的输出不变。 ( )

{{ select(23) }}

  • 正确
  • 不正确

24.将第23行m=date/100%100替换为 m=date%10000/100,程序的输出不变。( )

{{ select(24) }}

  • 正确
  • 不正确

25.将第30行改为int j;if(i==y&&j==1||i!=y&&j==0)j=m,程序的输出不变。( )

{{ select(25) }}

  • 正确
  • 不正确

选择题

26.若输人20240204,则输出为( )

{{ select(26) }}

  • A.20240204 20300302
  • B.20300302 20400402
  • C.20400402 21211212
  • D.20300302 21211212

27.若输出20011002 20200202,则输入可能为( )

{{ select(27) }}

  • A.20011002
  • B.20001001
  • C.20020101
  • D.20020202

(3)

判断题

28.若将第5行 if(num<= 3)替换为 if(num < 3),程序的运行结果不会改变.( )

{{ select(28) }}

  • 正确
  • 不正确

29.若将第7行中的i< num替换为i*i<=num,程序的运行结果不会改变。( )

{{ select(29) }}

  • 正确
  • 不正确

30.本程序用到的 vector 属于 STL。( )

{{ select(30) }}

  • 正确
  • 不正确

31.若将MAXN=100替换为MAXN=70,程序的运行结果不会改变。( )

{{ select(31) }}

  • 正确
  • 不正确

选择题

32.运行本程序,输出结果为( )

{{ select(32) }}

  • A.7
  • B.8
  • C.9
  • D.10

33.若将MAXN=100改为MAXN=2024,程序的输出结果为( )

{{ select(33) }}

  • A.9
  • B.10
  • C.11
  • D.12

34.(4分)若将MAXN=100改为MAXN=20244202,程序的输出结果为( )。

{{ select(34) }}

  • A.11
  • B.10
  • C.9
  • D.大于11的整数

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

(1)在图像编码的算法中,需要对一个给定的方形矩阵进行Z字形扫描。给定一个的矩阵,Z字形扫描的过程如下图所示。 对 4x4 的矩阵 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 进行乙字形扫描后得到长度为16的序列: 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3 请实现一个Z字形扫描的程序。给定一个nxn 的矩阵,输出对这个矩阵进行Z扫描的结果。

输入格式:

输人的第1行包含一个整数,表示矩阵的大小。输人的第2行到第 H1行包含n个正整数,由空格分隔,表示给定的矩阵。

输出格式:

输出一行,包含 nxn个整数,由空格分隔,表示输人的矩阵经过Z字形扫描后的结果。

输入样例:

4
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3

输出样例:

1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3

评测用例规模与约定:

1≤n≤500,矩阵元素为不超过1000的正整数。

35.①处应填()。

{{ select(35) }}

  • A.p[0][0]
  • B.p[0][1]
  • C.p[1][0]
  • D.p[1][1]

36.②处应填()。

{{ select(36) }}

  • A.v[0][0]=1
  • B.v[1][1]=1
  • C.v[0][1]=1
  • D.v[1][0]=1

37.③处应填()。

{{ select(37) }}

  • A.t < n*n
  • B.t <= n*n
  • C.t < n
  • D.t <= n

38.④处应填()。

{{ select(38) }}

  • A.v[x+1][y-1]
  • B.v[x-1][y+1]
  • C.!v[x+1][y-1]
  • D.!v[x-1][y+1]

39.⑤处应填()。

{{ select(39) }}

  • A.v[x-1][y-1]= 1
  • B.v[x+1][y+1]= 1
  • C.v[x+1][y-1]= 1
  • D.v[x-1][y+1]= 1

(2)你有一架天平和N个砝码,这N个砝码的重量依次是:W1,W2,…,WN。请计算:共可以称出多少种不同的重量?注意砝码可以放在天平两边。

输入格式:

输入的第1行包含一个整数N。第2行包含 N个整数:W1,W2,…,WN

输出格式:

输出一个整数代表答案。

输入样例:

3 1 4 6

输出样例:

10

样例说明:

能称出的10种重量是1、2、3、4、5、6、7、9、10、11。 1=1 2-6-4(天平一边放6,另一边放4) 3=4-1 4=4 5-6-1 6=6 7=1+6 9-4+6-1 10-4+6 11=1+4+6

评测用例规模与约定:

对于 50%的评测用例,1≤N≤15; 对于所有评测用例,1≤N≤100,N个砝码的总重量不超过105

40.①处应填( )。

{{ select(40) }}

  • A.sum += a[i]
  • B.sum += a[1]
  • C.sum += a[n]
  • D.sum = a[i]

41.②处应填( )。

{{ select(41) }}

  • A.j= f[i][j]
  • B.j= sum-1
  • C.j = n
  • D.j= sum

42.③处应填( )。

{{ select(42) }}

  • A.f[i-1][j-a[i]]
  • B.f[i-1][abs(j-a[i])]
  • C.f[i][abs[j-a[i])]
  • D.f[i-1][a[i]-j]

43.④处应填( )。

{{ select(43) }}

  • A.j + a[i]< sum
  • B.j + a[i]<= sum
  • C.j+ a[i-1]< sum
  • D.j+ a[i-1]<= sum

44.⑤处应填( )

{{ select(44) }}

  • A.ans += f[n][i-1]
  • B.ans += f[n-1][i-1]
  • C.ans += f[n][i] -D.ans += f[n-1][i]

CSP-J组第一轮6

未参加
状态
已结束
规则
OI
题目
1
开始于
2024-9-3 17:20
结束于
2024-9-3 18:50
持续时间
1.5 小时
主持人
参赛人数
18