- 选择题(有的是多选)
- *以下程序中value最终值为多少?
long value = (int)9.7; value %= 3; |
A. 0
B. 1
C. 2
D. 3
-
- *已知一棵二叉树的前序遍历为bceda,后序遍历为eadcb,根节点下的子节点有
A. 只有e
B. 有e和b
C. 有e和c
D. 只有c
-
- 有两个线程都能访问n,初始时n为0,⼀个线程执⾏n++,n+=2,另⼀个线程执⾏n+=3,当两个线程都执行完后n可能的值为(注:线程都会执行完,不会异常挂掉)
A. 3
B. 4
C. 5
D. 6
-
- 以下哪些是对的
A. TCP工作在传输层
B. UDP工作在网络层
C. IP工作在数据链路层
D. 以上都不对
- 程序题(用你熟悉的编程语言即可)
- *题一
写一个函数,判断两矩形是否相交
两个矩形相交的示意图:
Y轴 |
X轴 |
a |
b |
矩形数据结构如下:
class Rect {
public float x; //左上角,x轴坐标
public float y; //左上角,y轴坐标
public float width; //矩形的宽
public float height; //矩形的高
};
请完成下面函数,相交返回true,否则返回false
bool isIntersect(Rect a, Rect b)
-
- 题二
题目:写程序找出小于1亿的,16141的倍数。(注意程序的运行效率)
-
- 题三
请在下面的横线处补充缺失的代码,以完成这个排序函数
void sort(int[] a) { int n = a.length; for (int i ; ; ) { for (int j ; ; ) { if (a[j-1] > a[j]) { int t = a[j-1]; a[j-1] = a[j]; a[j] = t; } } } } |
-
- 题四(如果没学过java可以不答)
以下java代码运⾏后发生什么,如果程序有错误请改正
public class Test{ class A{ public int num; } public void newAArray(){ A[] a= new A[10]; a[0].num=1; a[1].num =2; for(int i = 2; i < 10; ++i){ a[i].num = a[i-1].num * a[i-2].num; } System.out.print(a[9].num); } } |
- 简答题(不是编程题,不需要写程序)
-
- 一栋楼里有1百万个编了号的开关(1-1000000),初始这些开关的状态都是开着的,第一次先把编号为2的倍数的开关(2、4、6、8…)都按下开关,第二次把编号为3的倍数的开关(3、6、9、12…)都按下开关...第N次把编号为N+1的倍数的开关都按下开关… 直到最后一次把编号为1百万的倍数的开关都按下开关,请问第999个开着的开关的编号是多少?(请写下你的解题思路)