- 高士渠 的博客
8月5日
- @ 2025-8-5 16:33:47
比赛: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 硬算,转换进制;
4 链表 双向链表中有两个指针域llink和rlink,分别指向前驱及后继,设p指向链中的一个结点,q指向一个待插入的结点,现要求在p前插入q,则正确的插入为。(p->llink->rlink=q;q-?rlink=p;q->llink=p->llink;p->llink=q)
思路: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 次。