比赛:CSP-J模拟卷(二)

选择题

1 常识题 操作系统是一类重要的系统软件,下面几个软件不属于系统软件的是( B)

A.Mac Os

B.Java

C.Windows

D.Unix

Java是编程语言,不是系统软件

2 进制转换题 一个8位二进制数,其原码为10010101,则其补码是(11101011)

思路 :负数补码=反码+1;

反码=11101010,补码=11101010+1=11101011;

3 请你计算(A3)16+(233)10=(A3)16+(233)10=()

A.(394)10

B.(1AC)16

C.(614)8

D.(110011100)2 硬算,转换进制;

思路:1.每个样例试一遍测试能否满足要求

2.找出满足的条件与题目对照

5 树 一棵二叉树总共有23个结点,其中叶子节点的个数是11,请问这棵二叉树最多有(13)层,规定根节点为第1层

考点:树的常识

设n表示树的总节点数,n0表示度为0的点,n1表示度为1的点,n2表示度为2的点。那么有: n = n0 +n1 +n2 又有:n2 =n0 -1 由题面可知,n =23,n0= 11,则 n2 = 10,n1 = 2

7 分类讨论 在[1,100]区间种任选两个数x和y,同时需要满足x<=y 且 x+y>=50的方案有(4450)

枚举,固定x,求y在x确定的情况下有多少种取法。

x==1时y可以为[49-100]

x==2时y可以为[48-100]~~~~~

x>=49时y为[1-100]

计算总和为4450

9 序列 序列[5,4,2,6,3,1],如果只能进行相邻元素的两两交换,将这个序列变成有序序列,至少需要进行(4)次交换。

升序和降序都是有序,两个都试一遍;

降序:将6换到5的位置 3步,[6,5,4,2,3,1],将3换到2的位置1步,[6,5,4,3,2,1],共4步;

升序:将1换到5的位置 5步,[1,5,4,2,6,3],5>4,采用降序 共4步;

11 对于序列“7, 5, 1, 9, 3, 6, 8, 4”,在不改变顺序的情况下,去掉(6)会使逆序对的个数减少3。

A.7

B.5

C.4

D.6

选项每一个都试一遍

14 关于C++语言描述错误的是(C++源代码在Linux环境中可直接运行)

错误点:C++要编译

15 有2N个数,需要求出最大值和最小值,你需要的最少比较次数是(3N-3)。

考虑每两个数进行比较,策略如下: 先将第一个数与第二个数比较,记录较大值maxn,较小值为minn。剩余2n-2个数,每两个一组进行比较,共n-1 组,每组内比较一次找出较大数a和较小数b,a和maxn比较更新,b和minn比较更新,共比较 3n-1) 1 次。