北航计算机复试 06-14上机真题及答案
- 格式:doc
- 大小:143.50 KB
- 文档页数:32
计算机考试复试题目及答案一、选择题1.计算机的基本组成部分不包括:A.中央处理器B.存储器C.输入设备D.输出设备答案:D2.计算机中用来临时存储数据的设备是:A.硬盘B.内存C.光驱D.键盘答案:B3.在计算机中,二进制用来表示数据的基本单位是:A.字节B.位C.块D.字答案:B4.以下哪项操作不属于计算机的输入操作:A.读取文档B.接收鼠标点击C.播放音乐D.扫描二维码答案:C5.在Windows操作系统中,Ctrl+C的快捷键组合用于:A.复制选中的内容B.剪切选中的内容C.粘贴剪贴板中的内容D.关闭当前窗口答案:A二、填空题1.计算机网络是由_________和_________组成的。
答案:计算机和通信设备2.在计算机领域中,CPU的英文全称是_________。
答案:Central Processing Unit3.硬盘是计算机的_________设备。
答案:存储4.光驱可以用来读取和写入_________。
答案:光盘5.在Windows操作系统中,Ctrl+V的快捷键组合用于_________。
答案:粘贴剪贴板中的内容三、简答题1.请解释什么是操作系统?答案:操作系统是计算机系统的核心软件,它负责管理和控制计算机的硬件和软件资源,提供用户和应用程序的接口,协调和调度各种任务的执行,同时还负责内存管理、文件管理、设备管理等功能。
2.什么是二进制?答案:二进制是一种计数系统,它的基数为2,只包含两个数字0和1。
在计算机领域中,二进制被用来表示和存储数据,每个二进制位称为一比特(bit),8个二进制位组成一个字节(byte),所有的数据都可以转换成二进制进行处理。
3.请简述计算机网络的作用。
答案:计算机网络可以将多台计算机互联起来,使它们可以相互通信和共享资源。
计算机网络的作用包括但不限于以下几个方面:- 提供高效的通信方式,可以迅速传输数据和信息。
- 实现资源共享,多个计算机可以共同使用打印机、存储设备等资源。
计算机上机考试题及答案一、选择题(每题2分,共20分)1. 在计算机系统中,CPU是:A. 中央处理器B. 存储器C. 输入设备D. 输出设备答案:A2. 以下哪个选项是计算机操作系统的主要功能?A. 管理计算机硬件和软件资源B. 打印文档C. 编辑文档D. 绘制图形答案:A3. 计算机病毒是一种:A. 计算机硬件B. 计算机软件C. 计算机程序D. 计算机文件答案:C4. 在Windows操作系统中,文件的扩展名“.txt”代表:A. 文本文件B. 图像文件C. 音频文件D. 视频文件5. 以下哪个选项不是计算机网络的组成部分?A. 服务器B. 路由器C. 打印机D. 交换机答案:C6. 在Excel中,以下哪个功能用于计算一组数值的平均值?A. SUMB. AVERAGEC. MAXD. MIN答案:B7. 以下哪个选项是计算机存储设备的容量单位?A. 米B. 千克C. 字节D. 秒答案:C8. 计算机的二进制数“1010”转换为十进制数是:A. 8B. 10C. 12D. 14答案:B9. 以下哪个选项是计算机编程语言?B. CSSC. JavaScriptD. 所有选项答案:D10. 在Windows系统中,按下Ctrl+C键通常用于:A. 复制选中的内容B. 粘贴选中的内容C. 删除选中的内容D. 保存文件答案:A二、填空题(每题2分,共20分)1. 计算机的CPU主要由_____和_____两部分组成。
答案:运算器;控制器2. 计算机存储器分为_____和_____两大类。
答案:内存储器;外存储器3. 在计算机中,数据的最小单位是_____。
答案:位4. 计算机病毒的主要传播途径包括电子邮件、_____和_____。
答案:网络下载;移动存储设备5. 计算机网络按照覆盖范围可以分为局域网、_____和广域网。
答案:城域网6. 在Word文档中,要插入页码,可以使用“插入”菜单中的_____功能。
北航数据结构试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 树答案:C2. 下列关于二叉树的描述中,错误的是:A. 二叉树的第i层最多有2^(i-1)个节点B. 任意非空二叉树的叶子节点数等于度为2的节点数加1C. 任意非空二叉树的叶子节点数等于度为2的节点数减1D. 任意非空二叉树的叶子节点数等于度为2的节点数答案:C3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是:A. 队列B. 栈C. 链表D. 数组答案:B4. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 再散列法D. 排序法答案:D5. 快速排序算法的时间复杂度最坏情况下为:A. O(nlogn)B. O(n^2)C. O(n)D. O(1)答案:B6. 以下排序算法中,时间复杂度为O(nlogn)的是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B7. 以下关于堆的描述中,正确的是:A. 堆是一种特殊的二叉树B. 堆是一种完全二叉树C. 堆是一种平衡二叉树D. 堆是一种链表答案:A8. 在一个长度为n的有序数组中查找一个元素,使用二分查找算法的时间复杂度是:A. O(n)B. O(nlogn)C. O(logn)D. O(1)答案:C9. 以下算法中,不属于动态数据结构的是:A. 链表B. 栈C. 数组D. 哈希表答案:C10. 以下关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图的顶点可以有0个或多个C. 图的边可以有向或无向D. 图的顶点数一定大于边数答案:D二、多项选择题(每题3分,共15分)1. 下列哪些是线性表的存储结构?A. 顺序存储B. 链式存储C. 索引存储D. 散列存储答案:A, B2. 在图的表示方法中,以下哪些是正确的?A. 邻接矩阵B. 邻接表C. 边表D. 顶点表答案:A, B, C3. 下列哪些排序算法是稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:A, C4. 在数据结构中,以下哪些是递归算法的特点?A. 问题可以分解为更小的子问题B. 每个子问题都是原问题的实例C. 存在递归终止条件D. 递归算法的时间复杂度一定比迭代算法高答案:A, B, C5. 在使用链表实现栈时,以下哪些操作是合法的?A. pushB. popC. peekD. clear答案:A, B, C三、简答题(每题5分,共30分)1. 请简述什么是递归,并给出一个递归算法的例子。
2008年上机题目1.素数输入一个整数,要求输出所有从1到这个整数之间个位为1的素数,如果没有则输出-1(30分)2.旋转矩阵任意输入两个9阶以下矩阵,要求判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。
要求先输入矩阵阶数,然后输入两个矩阵,每行两个数之间可以用任意个空格分隔。
行之间用回车分隔,两个矩阵间用任意的回车分隔。
(60分)2.字符串匹配从string.in中读入数据,然后用户输入一个短字符串。
要求查找string.in中和短字符串的所有匹配,输出行号、匹配字符串到string.out文件中。
匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。
如“aa[123]bb”,就是说aa1bb、aa2bb、aa3bb都算匹配。
(60分)2009年的复试上机题目:1 给出立方根的逼近迭代方程 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值要求:double精度,保留小数点后面六位。
(送分题)输入:x n输出:迭代n次后的立方根sampleinput: 3000000 28output:144.2249572 数组排序输入一个数组的值,求出各个值从小到大排序后的次序。
输入:输入的第一个数为数组的长度,后面的数为数组中的值,以空格分割输出:各输入的值按从小到大排列的次序。
sampleinput:4-3 75 12 -3output:1 32 13 字符串的查找删除给定文件filein.txt 按要求输出fileout.txt。
输入: 无空格的字符串输出: 将filein.txt删除输入的字符串(不区分大小写),输出至fileout.txtsample输入:in输出:将filein.txt 中的In、IN、iN、in删除,每行中的空格全部提前至行首,输出至fileout.txtfilein.txt中的值为:#include <stdio.h>int main(){printf(" Hi "); }输出的fileout.txt为#clude<stdio.h>tma(){prtf("Hi");}。
描述确定用户输入的m个数的和。
输入先给出数据的组数T,对于每组数据,输入有两行,第一行为用户要输入的数个数m(m<1000),第二行为m个用空格隔开的int类型整数。
输出每组数据输出只有一行,为用户输入的m个数的和。
样例输入251 2 3 4 52-1 -9样例输出15-10设计菱形时间限制:1000 ms 内存限制:8192 KB总提交:54 (42 users) 正确提交:41 (41 users)描述编写一个程序,打印一个菱形(如样例输出所示)。
要求输出的语句要么打印一个星号(*),要么打印一个减号(-)。
输入第一行一个正整数T,表示有T组测试数据。
以下有T行,每行有一个1~19范围内的奇数n。
输出对于每个奇数n,打印一个菱形,菱形行数为n。
样例输入239样例输出-*-***-*-----*-------***-----*****---*******-*********-*******---*****-----***-------*----提示不要打印多余空格数字回文时间限制:1000 ms 内存限制:8192 KB总提交:133 (63 users) 正确提交:60 (59 users)描述“回文”是一种特殊的数或者文字短语。
他们无论是顺读还是倒读,结果都一样。
例如:12321, 55555,45554。
读入一个5位整数,判断它是否是回文数。
输入多组测试数据,每组一行,一个五位整数,数据以0结尾。
输出对每组输入数据输出一行,如果输入数是回文数,输出“Yes.” ,否则输出“No.” 。
样例输入123451232111111样例输出No.Yes.Yes.。
北京航空航天大学2004 计算机专业技术基础2004 计算机专业技术基础:一、1、在具有n 个链结点的非空链表的已知位置插入一个链结点的时间复杂度为()。
2、将一个20 阶五角矩阵中所有非零元素压缩存储到一个一维数组中,该一维数组至少应该有()个数组元素才行。
3、设n 个元素的进栈序列为1、2、3、…、n。
出栈序列为P1、P2、…、Pn。
若P1=n,则Pi(1<=i<=n)的值为()。
4、深度为h 的非空完全二叉树中至少有()个结点。
5、完全二叉树、满二叉树、线索二叉树和二叉排序树这四个名词术语中,与数据的存储结构有关系的是()。
6、若从无向图的任意一个顶点出发进行一次深度优先搜索便可以访问到该图的所有顶点,则该图一定是一个()图。
7、若一个非连通的无向图最多有28 条边,则该无向图至少有()个顶点。
8、已知某带权连通无向图采用邻接矩阵存储方法,邻接矩阵以三元组表形式给出,不包括主对角线元素在内的下三角部分元素对应的各个三元组分别为(2,1,7),(3,1,6),(3,2,8),(4,1,9),(4,2,4),(4,3,6),(5,1,MAX),(5,2,4),(5,3,MAX),(5,4,2)。
该连通图的最小生成树的权值之和为()。
9、顺序查找方法、折半查找方法、树型查找方法和散列查找方法这四种方法中,只能在顺序存储结构下才能实现的查找方法是()。
10、若对序列(tang,deng,an,wang,shi,bai,fang,liu)采用快速排序法按字典顺序进行排序,并且以序列的第一个元素作为分界元素,当该分界元素的排序最终位置确定那一刻,序列的状态是()。
二、折半查找过程可以利用一棵称之为“判定树”的二叉树来描述。
请画出在长度为13 的有序表中进行折半查找对应的判定树。
三、已知二维数组A[1:n,1:n],请写一空间复杂度为O(1)的算法,该算法将数组顺时针方向旋转90 度(即把第1 行变成第n 列,第2行变成第n-1 列,第3 行变成第n-2 列,…,第n 行变成第1 列)。
3. 【问题描述】从键盘输入包含扩展符'-'的字符串,将其扩展为等价的完整字符,例如将a-d扩展为abcd,并输出扩展后的字符串。
要求:只处理[a-z]、[A-Z]、[0-9]范围内的字符扩展,即只有当扩展符前后的字符同时是小写字母、大写字母或数字时才进行扩展,其它情况不进行扩展,原样输出。
例如:a-R、D-e、0-b、4-B等字符串都不进行扩展。
【输入形式】从键盘输入包含扩展符的字符串【输出形式】输出扩展后的字符串【输入样例1】ADEa-g-m02【输出样例1】ADEabcdefghijklm02【输入样例2】cdeT-bcd【输出样例2】cdeT-bcd【样例说明】将样例1的输入ADEa-g-m02扩展为:ADEabcdefghijklm02;样例2的输入cdeT-bcd中,扩展符前的字符为大写字母,扩展符后的字符为小写字母,不在同一范围内,所以不进行扩展。
【评分标准】结果完全正确得15分,共5个测试点,每个测试点3分,提交程序文件expand.c或expand.cpp。
1. 【问题描述】孪生数定义:如果 A 的约数(因数,包含1,但不包含A本身)之和等于B ,B 的约数(因数)之和等于A ,A 和 B 称为孪生数(A和B不相等)。
试找出正整数M 和N 之间的孪生数。
【输入形式】从控制台输入两个正整数M和N(1<=M<N<=20000),中间用一个空格分隔。
【输出形式】在标准输出上输出符合题目描述的M和N之间的全部孪生数对(包括M和N)。
每行输出一对孪生数,用一个空格隔开,小的先输出;各行孪生数按照第一个数从小到大的顺序输出,一对孪生数只输出一次。
如果没有符合要求的孪生数对,则输出字符串“NONE”。
【输入样例1】20 300【输出样例1】220 284【输入样例2】200 250【输出样例2】NONE【样例说明】样例1输入的区间为[20,300],其间有一对孪生数对,即:220(1+2+4+5+10+11+20+22+44+55+110=284)和284(1+2+4+71+142=220)。
计算机复试题库及答案大全在计算机科学领域,复试是通过考核和筛选学生的重要环节。
为了帮助准备计算机复试的同学们更好地备考,我整理了一份计算机复试题库及答案大全,旨在提供全面而有效的复试备考材料。
以下是题库中的部分问题及其详细答案。
一、计算机网络1. 解释OSI参考模型的七层结构及其各层的功能。
答案:OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个概念模型,用于解释计算机网络中不同层次的通信协议。
它包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- 物理层:负责在物理媒介上传输比特流。
- 数据链路层:负责对物理连接进行编码和解码,提供可靠的数据传输。
- 网络层:负责将数据从源地址传输到目标地址。
- 传输层:提供可靠的端到端数据传输服务。
- 会话层:在不同主机之间建立和管理会话。
- 表示层:处理数据的表示和转换,例如加密和解密。
- 应用层:提供特定网络应用程序间的数据传输。
二、数据结构与算法1. 请解释什么是线性表,并给出线性表的两种存储结构。
答案:线性表是由n个数据元素(a1, a2, ..., an)组成的有限序列。
线性表的两种存储结构包括顺序存储结构和链式存储结构。
- 顺序存储结构:线性表的元素在计算机内存中按照一定顺序依次存放。
通过元素在存储空间中的物理相邻关系来实现逻辑上的顺序关系。
- 链式存储结构:线性表的元素通过指针相连,每个元素包含数据和指向下一个元素的指针。
三、操作系统四、数据库系统五、软件工程六、计算机网络安全七、人工智能八、计算机图形学九、计算机体系结构十、数据库系统十一、编译原理以上只是题库中的一部分内容,希望这份计算机复试题库及答案大全可以为你的复试备考提供一些指导和帮助。
祝你在复试中取得优异的成绩!。
中国民航飞行学院计算机学院复试真题1、TCP/IP协议中负责将IP地址转换为物理地址的协议是()。
易[单选题] *A. ICMPB. IPC. ARP(正确答案)D. TCP2、MAC地址英文直译为()[单选题] *A媒体存取控制位址(正确答案)B城域网地址C以太网地址D局域网地址3、C:CPU能表示的最大的有效数字位数D:CPU能表示的十进制整数的位数计算机软件的确切含义是______。
[单选题] *A:计算机程序、数据与相应文档的总称(正确答案)B:系统软件与应用软件的总和4、下列MAC 地址正确的是()。
中[单选题] *A.--B-F--BA(正确答案)B....C.----D.--B-A--H5、1冯.诺依曼型计算机工作方式的基本特点是()。
[单选题] *A.多指令流单数据流B.按地址访问并顺序执行指令(正确答案)C.堆栈操作D.存储器按内部选择地址6、FTP 客户端对FTP 服务器端发起连接的第一阶段建立()。
中[单选题] *A.传输连接B.数据连接C.会话连接D.控制连接(正确答案)7、如果想用最短的时间建立一个WPS演示文稿框架,应该使用的方法是()。
[单选题] *A. 自己设计B. 使用母版C. 在百度里搜索8、某公司申请到一个C 类网络,出于地理位置上的考虑,必须切割成个子网,那么子网掩码可以设置为()。
中[单选题] *A....B....C....D....(正确答案)9、Windows中,欲选定当前文件夹中的全部文件和文件夹对象,可使用的组合键是()[单选题] *A)Ctrl+V (B)Ctrl+A ((正确答案)C)Ctrl+X (10、静态RAM的特点是()。
[单选题] *A.速度快,价格较贵,常用于高速缓冲存储器(正确答案)B.存储容量大,速度较慢,价格便宜C.其中的信息只能读不能写D.其中的信息断电后也不会丢失11、计算机内存中用于存储信息的部件是______。
[单选题] * A:U盘B:只读存储器C:硬盘D:RAM(正确答案)12、ROM是指______。
北航数学专业复试题及答案一、选择题(每题2分,共10分)1. 函数\( f(x) = x^2 - 4x + 4 \)的最小值出现在哪个点?A. \( x = -1 \)B. \( x = 0 \)C. \( x = 2 \)D. \( x = 4 \)答案:C2. 以下哪个数列是等差数列?A. \( 2, 4, 6, 8, \ldots \)B. \( 1, 3, 6, 10, \ldots \)C. \( 1, 2, 4, 8, \ldots \)D. \( 1, 1, 1, 1, \ldots \)答案:A3. 圆的面积公式是什么?A. \( A = \pi r \)B. \( A = \pi r^2 \)C. \( A = 2\pi r \)D. \( A = 4\pi r \)答案:B4. 以下哪个是微分方程的解?A. \( y = x^2 + C \)B. \( y = e^x + C \)C. \( y = \ln(x) + C \)D. \( y = \sin(x) + C \)答案:A5. 以下哪个是正弦函数的图像?A. \( y = x^2 \)B. \( y = \sin(x) \)C. \( y = e^x \)D. \( y = \ln(x) \)答案:B二、填空题(每题3分,共15分)6. 已知\( \sin(\theta) = \frac{3}{5} \),且\( \theta \)在第一象限,求\( \cos(\theta) \)的值。
答案:\( \frac{4}{5} \)7. 如果\( \lim_{x \to 0} \frac{f(x)}{x} = 3 \),那么\( f(0) \)的值是____。
答案:08. 矩阵\( A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \)的行列式是____。
答案:-29. 函数\( g(x) = \ln(x) \)的定义域是____。
北京航空航天大学计算机系考研复试06-14上机真题及答案复试上机指导1.本真题只是提供辅助作用,关键还是研友平时动手能力练习和对算法、数据结构的理解,参加过ACM的有一定优势没参加过的也不用紧张,北航的上机题相对于清华和北大,难度上小很多,多练习的话,问题不大;2.上机时,可以快速阅读所有的题目,按照从易到难的次序做题,保证会的一定得分;3.熟悉编程环境,熟悉c的常用函数;4.为了快速测试代码的正确性,尤其是矩阵输入的情况,可以利用标准输入重定向,freopen(“c:\\input.txt”,”r”,s tdin);加快测试过程;5.注意程序边界条件的测试;6.如果你有什么疑问,或者我们提供的材料有问题,欢迎联系我们:*****************提供北航计算机报考和选导师指导,或者到 给我们留言。
14年上机题第一题,阶乘数。
输入一个正整数,输出时,先输出这个数本身,跟着一个逗号,再输出这个数的各位数字的阶乘和,等号,阶乘和的计算结果,并判断阶乘和是否等于原数,如果相等输出Yes,否则输出No。
题目说明输入的正整数以及其各位阶乘和都不会超出int型的表示范围。
输入样例1:145输出样例1:145,1!+4!+5!=145Yes输入样例2:1400输出样例2:1400,1!+4!+0!+0!=27No第二题,五子棋。
输入一个19*19的矩阵,只包含数字0、1、2,表示两人下五子棋的棋牌状态,1、2分别表示两人的棋子,0表示空格。
要求判断当前状态下是否有人获胜(横向、竖向或者斜线方向连成5个同色棋子)。
题目说明输入样例保证每条线上至多只有连续5个同色棋子,并且保证至多只有1人获胜。
如果有人获胜,输出获胜者(1或2)加一个冒号,接着输出获胜的五连珠的第一个棋子的坐标,从上到下从左到右序号最小的为第一个,序号从1开始编号。
如果无人获胜,输出no。
样例略。
第三题,排版题。
输入若干行字符,表示某电影的演职员表,每行只有一个冒号,冒号前面是职位,冒号后面是姓名,要求把各行冒号对齐,删除多余空格后输出。
计算机考研复试题目及答案详解一、选择题1. 下列不属于计算机网络协议的是:A. TCP/IPB. HTTPC. FTPD. IPX/SPX答案:D. IPX/SPX2. 网络拓扑结构中,哪种结构的故障对整个网络影响最小?A. 星型拓扑B. 环型拓扑C. 总线型拓扑D. 树型拓扑答案:A. 星型拓扑3. TCP/IP协议簇中,下列协议不属于网络层的是:A. IP协议B. ICMP协议C. ARP协议D. RIP协议答案:C. ARP协议4. 下列哪个属于面向连接的传输层协议?A. UDPB. TCPC. IPD. ICMP答案:B. TCP5. 下列哪个不属于计算机网络的关键技术?A. DNSB. DHCPC. NATD. VPN答案:D. VPN二、问答题1. 请简述TCP/IP协议栈的层次结构,并描述每个层次的作用。
答:TCP/IP协议栈的层次结构分为四层,分别是物理层、网络层、传输层以及应用层。
物理层:负责将比特流转化为物理信号进行传输,并处理物理层面的数据传输问题。
网络层:主要负责将数据包从源主机传输到目标主机,通过IP协议进行分组传输,并处理路由选择、分组转发等问题。
传输层:提供端到端的数据传输服务,主要有TCP和UDP两种协议。
TCP提供面向连接的可靠数据传输服务,包括数据分段、流量控制、拥塞控制等功能;而UDP则提供无连接的不可靠数据传输服务。
应用层:为用户提供各种网络应用服务,如HTTP、FTP、DNS等。
在应用层中,数据被封装成特定的格式,通过网络传输到目标主机后被解封装,并交给相应的应用程序进行处理。
2. OSI参考模型和TCP/IP协议栈有什么区别?答:OSI参考模型和TCP/IP协议栈都是用于网络通信的架构模型,但两者有以下区别:1) 层次结构不同:OSI参考模型由七层组成,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;而TCP/IP协议栈由四层组成,分别是物理层、网络层、传输层和应用层。
一、1. P=rear->link->link;rear->link->link=p->link;free(p);2. 两个栈顶相遇3. 954. 后序5. 连通图6. f,c,b7. 每个分支结点最多有m棵子树8. n(n-1)/2 9.插入排序法10. an,deng,shi,bai,fang,liu,tang,wang二、1. 有穷性、确定性、可行性、输入、输出2.(1) (2) (3) (4)顺O(1) O(1) O(n) O(n)链O(n) O(1) O(n) O(n)3. 2^(n-1)4.链地址三、1. 321 231 213 123 1323. 114. 可以(08年一4)四void DEGREE(VLink G[], int n){ int num,i; VLink v; ELink *p;for(i=0; i<n; i++){v=G[i];num=0;p=v.link;while(p!=NULL){num++;p=p->next;}G[i].degree=num;}}五、1-5 DACCA 6-10 BDCAB六、1. 不正确,因为数组名a代表数组首元素的地址,它是一个指针常量,它的值在程序运行期间是不变的2. sizeof是算符,strlen是函数;strlen是返回字符串的长度,而sizeof却是用来取得变量所占用的内存;返回的单位不一样3. s1必须定义得足够大,以便容纳被复制的字符串s2,s1的长度不应小于s2的长度4. 函数指针是一个指向某函数起始地址的指针;指针函数是带指针的函数,返回类型是某一类型的指针5. 返回地址信息、实参信息七、1. a[k-1] a[9-k] 2. k%j==0 continue3.Substr[k+1]==’\0’i+14. *p==*q *olds++ *new=’\0’5.fopen(“file.dat”, “r”) fp, “%d”, &num i==count八、#include<stdio.h>#include<string.h>main(){ int STRCOUNT(char *str, char *substr);char str[80], substr[80]; int num;printf(“Input sring:”);gets(str);printf(“Input substring:”);gets(substr);num=STRCOUNT(str, substr);printf(“num = %d”, num);}int STRCOUNT(char *str, char *substr) //根据第七大题4改写的{ char *p, *q;int num=0;while(*str!=’\0’){for(p=str, q=substr; *p!=’\0’&&*q!=’\0’&&*p==*q; p++, q++);if(*q!=’\0’)*str++;else{num++;str=p;}}return num;}By Jason LeeRoc°卡卡。
算法上机1A访问统计时间限制:1000 ms | 内存限制:65535 KB 描述有若干个网站,已知在某一特定星期内每个网站的日访问量情况。
现在的问题是,按照网站在这一星期内的总访问量由高到低排序,并输出结果。
输入只有一组测试数据,第一行:一个正整数N,表示将出现的网址个数。
(2<=N<=50) 接下来有N行,每行有一个字符串(中间无空格),表示网址。
保证N个网址互不相同。
接下来有一个正整数M,表示M条记录。
2<=M<=100 然后有M行,每行的有一个字符串S(长度小于100),整数T(1<=T<=7),整数V(0<=V<=100),表示网站S在星期T里有V的访问量,保证S是前面所述的N个网站中的某一个。
注意:保证记录不会重复,同一网站在同一天里的记录也不会出现两次。
如果某网站在某天里的记录没有出现,表明该网站在改天里的访问量为0输出按照网站在这一星期里的总访问量由高到低排序,访问量相同的按字典序的升序排序. 格式:网址+一个空格+访问量具体参见样例样例输入49 1 0 2 0 7 100 6 200 1 2 1 20 2 6 7 3 6 5样例输出 300 20 8 8计算罚时时间限制:1000 ms | 内存限制:65536 KB 描述在编程啦比赛的记分板上,有一列叫做“罚时”,这个奇怪的数字究竟是怎么算出来的呢?留意的同学可能知道,记分板的“查看记分详单”页面,有这么一段注释:注:(X/Y) ——X表示该题提交次数,Y表示首次通过该题的时间,单位为分钟。
对通过的题计算罚时,计算方式为(X-1)*20 + Y。
未通过的题不计算罚时。
具体说来,其中X表示该题首次正确提交之前(包括正确那次)该题的提交次数,比如某次上机中,豆豆同学的提交记录如下(比赛开始时间为14:30):· B Accepted (AC) 14:52· A Wrong Answer (WA) 14:58· A Wrong Answer (WA) 14:59· A Wrong Answer (WA) 15:00· A Accepted (AC) 15:05· C Wrong Answer (WA) 15:12· C Wrong Answer (WA) 15:14· C Accepted (AC) 15:15·D Accepted (AC) 15:21·A Presentation Error (PE) 15:32·A Accepted (AC) 15:33·E Time Limit Exceeded (TLE) 15:55则对于A题,X=4(计算该题的X时无视该题AC后的提交记录以及其他题的记录),Y=35(分钟),由于通过该题带来的罚时为:(4-1)*20+35=95;对于E题,罚时为零,因为这题始终没有通过(Accepted)。
北航计算机复试面试题(总3页) --本页仅作预览文档封面,使用时请删除本页--操作系统:1.文件系统和数据库系统的区别,哪个效率更高,为什么。
2.进程上下文切换具体过程,是什么实现的3.BIOS的意思,程序的可移植性4..操作系统的基本概念5.操作系统开机过程;6.操作系统分哪些部分,进程管理包含什么内容;7.操作系统我们所学的其他课程有什么关系,还是操作系统是个独立的课程8.什么是系统调用它和库函数调用有什么区别计算机网络:1.数据链路层是干什么的2.输入数据在网络层叫什么3.分组的生命期,为什么要设置这个生命期4.dns的工作过程5.点击一个链接的网络过程;6.网络模型,网络层协议有哪些,应用层协议有哪些7.两台计算机中的进程进行通信,需要解决什么问题?基础数学:1.什么是极限,什么是趋近2.极值的求法3. 泰勒级数的展开式;为什么把一个简单的函数表示成那么麻烦的泰勒级数?4.5.6.信息和数据的区别?7.图形和图像有什么区别?8.概率的全概率公式,高数的傅立叶级数,现代秩的概念9.一枚硬币抛三次,至少一次正面的概率10.什么是图的同构11.说一下数理逻辑的定义12.矩阵的用途13.线性相关与无关14.离散数学包含那些部分;15.集合的势,无限集合的大小比较,偏序,良序,全序,划分,欧拉图,Hamilton图16.什么是群17.谓词逻辑和命题逻辑的区别18.什么是等价关系,什么是子句,什么是合取范式19.什么是二元关系数据结构与算法:1.什么是二叉树2.已知病毒特征码一百万个和文件一个,问用什么查找算法能尽快的检测出该文件是否有病毒?3.快排和插入排序那个更高效?4.简单描述九宫格算法5.学数据结构的意义;6.离散数学的图论和数据结构图论的相同点和不同点7.堆栈和堆的区别8.递归变成非递归需要什么(堆栈)9.堆栈溢出是怎么回事儿10.算法的几种策略,迪杰斯特拉算法11.要得到文件的后N行,需要什么数据结构实现12.数据库中B+树和B-树的区别13.什么是树什么是图树和图有什么区别14.矩阵相乘的时间复杂度是多少?15.现在有一未知大小的文件,里面是单词的集合,现要将文件读入内存,问采用什么存储结构较好?数据库:1.数据库查询语句怎样写效率更高2.使用sql语句实现图的某一顶点可达的该图的其他顶点的查找3.数据库完整性措施;4.如何保证数据的一致性5.数据库的基本理论知识,像关系数据库的定义、三种范式6.什么是事务处理?软件测试:1.工程使用什么测试手段,什么模型2.软件测试时软件开发过程的哪个阶段的3.什么是白盒测试什么是黑盒测试区别是什么计组:1.冯诺依曼系统结构2.冯诺依曼机的存储思想3.做过哪些实验4.程序和数据分别怎么存储(其实也就是问冯诺依曼机和哈佛机的区别编程语言1.什么是C++动态联编技术,为什么C++要引入动态联编2.虚函数作用,主要在应用中3.纯虚函数的作用,这也主要在实际应用中4.Andriod和ios各用什么语言写app;java和oc有什么共同点和不同点;java一次编译多处运行的原理;5.什么是多态6.子类继承父类的内存分配是怎样的7.什么是重载如何实现重载专业方向:1.什么是云计算?2.杀毒现在为什么使用云计算?3.解决一个复杂问题的策略有什么编译原理:1.词法分析和语法分析是怎么实现的;2.编译原理和离散数学用的是什么教材,作者是谁3.***文法是几型文法?4.如果用两种高级语言混合编译,需要解决什么问题(我现在理解的:对变量、表达式和函数的整合)所用参考书:2、计算机组成原理:唐朔飞编著:《计算机组成原理》,高等教育出版社,1999年版;唐朔飞编著:《计算机组成原理学习指导与习题解答》,高等教育出版社,2005年9月;白中英主编:《计算机组成原理》,科学出版社;3、操作系统:汤小丹、梁红兵、哲凤屏、汤子瀛编著:《计算机操作系统(第三版)》,西安电子科技大学出版社;梁红兵、汤小丹编著:《计算机操作系统》学习指导与题解(第二版),西安电子科技大学出版社,2008年9月;4、计算机网络:谢希仁编著:《计算机网络(第5版)》,电子工业出版社;高传善、毛迪林、曹袖主编:《数据通信与计算机网络(第2版)》,高等教育出版社。
北京航空航天大学计算机系考研复试06-14上机真题及答案复试上机指导1.本真题只是提供辅助作用,关键还是研友平时动手能力练习和对算法、数据结构的理解,参加过ACM的有一定优势没参加过的也不用紧张,北航的上机题相对于清华和北大,难度上小很多,多练习的话,问题不大;2.上机时,可以快速阅读所有的题目,按照从易到难的次序做题,保证会的一定得分;3.熟悉编程环境,熟悉c的常用函数;4.为了快速测试代码的正确性,尤其是矩阵输入的情况,可以利用标准输入重定向,freopen(“c:\\input.txt”,”r”,s tdin);加快测试过程;5.注意程序边界条件的测试;6.如果你有什么疑问,或者我们提供的材料有问题,欢迎联系我们:*****************提供北航计算机报考和选导师指导,或者到 给我们留言。
14年上机题第一题,阶乘数。
输入一个正整数,输出时,先输出这个数本身,跟着一个逗号,再输出这个数的各位数字的阶乘和,等号,阶乘和的计算结果,并判断阶乘和是否等于原数,如果相等输出Yes,否则输出No。
题目说明输入的正整数以及其各位阶乘和都不会超出int型的表示范围。
输入样例1:145输出样例1:145,1!+4!+5!=145Yes输入样例2:1400输出样例2:1400,1!+4!+0!+0!=27No第二题,五子棋。
输入一个19*19的矩阵,只包含数字0、1、2,表示两人下五子棋的棋牌状态,1、2分别表示两人的棋子,0表示空格。
要求判断当前状态下是否有人获胜(横向、竖向或者斜线方向连成5个同色棋子)。
题目说明输入样例保证每条线上至多只有连续5个同色棋子,并且保证至多只有1人获胜。
如果有人获胜,输出获胜者(1或2)加一个冒号,接着输出获胜的五连珠的第一个棋子的坐标,从上到下从左到右序号最小的为第一个,序号从1开始编号。
如果无人获胜,输出no。
样例略。
第三题,排版题。
输入若干行字符,表示某电影的演职员表,每行只有一个冒号,冒号前面是职位,冒号后面是姓名,要求把各行冒号对齐,删除多余空格后输出。
先输入一个数字,表示排版要求的冒号位置,该位置号保证比各行冒号前的最大字符数还要大。
再输入若干行字符,最多50行,每行最多100个字符,除空格、制表符和回车之外都是有效字符,要求每行的冒号处于格式要求的位置,冒号两边与有效单词之间各有一个空格,冒号前面的单词之间只有一个空格(删除多余的空格和制表符),在冒号左边右对齐,前面全由空格填充,冒号后面的单词之间也只有一个空格,在冒号右边左对齐,最后一个单词后不加空格直接换行。
13年上机题第一题,给一个真分数的分子分母,输出约分后的分子分母,送分题,25分;第二题,简单版八皇后,15分;第三题,给出一个标准输入的正数(开头末尾没有多余的0),输出其科学计数法表示结果。
比如:输入0.000002,输出2e-6;输入123.456,输出1.23456e2;输入123456,输出1.23456e212年上机题1.【问题描述】某些整数能分解成若干个连续整数的和的形式,例如15 = 1 + 2+3+4+515 = 4 + 5 + 615 = 7 + 8某些整数不能分解为连续整数的和,例如:16输入:一个整数N(N <= 10000)输出:整数N对应的所有分解组合,按照每个分解中的最小整数从小到大输出,每个分解占一行,每个数字之间有一个空格(每行最后保留一个空格);如果没有任何分解组合,则输出NONE。
根据题目,任何可以进行分解的整数,必然满足(m+n)(n-m+1)/2的形式,可以暴力尝试所有m和n组合,如果满足则输出,否则输出None。
#include<stdio.h>#include<stdlib.h>int main(){int n;while(scanf("%d",&n) != EOF){int begin,end;int found = 0;for(begin=1;begin<n;begin++){for(end=begin+1;end<n;end++){// 连续整数求和int sum = (begin + end)*(end-begin+1)/2;if(sum == n){ // 可以分解,输出结果found = 1;int i;for(i=begin;i<=end;i++){printf("%d ",i);}printf("\n");}}}if(found == 0){printf("NONE\n");}}return 0;}2.【问题描述】小岛面积1 1 1 1 1 11 1 0 0 0 11 0 0 0 1 01 1 0 1 1 10 1 0 1 0 01 1 1 1 1 1上面矩阵的中的1代表海岸线,0代表小岛。
求小岛面积(即被1中包围的0的个数)。
注意:仅求这样的0,该0所在行中被两个1包围,该0所在列中被两个1包围。
输入:第一行输入一个整数N,表示输入方阵的维数输入一个N维方阵输出:小岛面积样例输入:61 1 1 1 1 11 1 0 0 0 11 0 0 0 1 01 1 0 1 1 10 1 0 1 0 01 1 1 1 1 1样例输出:8理解题目本身意思,可以发现对于矩阵中的0是否属于内陆,取决于该0所处的行和列上,如果0满足,如下条件则O为内陆,否则不是。
➢0所在的行,0的左边和右边必须有1➢0所在的列,0的上面和下面必须有1所以,解题思路就是,遍历所有的行和列,记录改行或列,最左面和最右面(或者最上面和最下面)1的坐标,然后当遇到0,判断是否处于记录的值的中间,是,则是内陆,面积加1,否则不加。
代码:#include<stdio.h>#include<stdlib.h>#define DEBUG_BUAA_122int main(){int N; //矩阵维数int island[100][100]; //输入岛数据的方阵int data[100][4];#ifdef DEBUG_BUAA_122freopen("/Users/bwiunbuaa/tmp/oj/buaa_122.in", "r", stdin);#endif/* JOBDU_H_ */while(scanf("%d",&N) != EOF){int i,j;//初始化memset(data,-1,100*4*sizeof(int));//读入数据for(i=0;i<N;i++){for(j=0;j<N;j++){scanf("%d",&island[i][j]);}}for(i=0;i<N;i++){for(j=0;j<N;j++){if(island[i][j] == 1){ //小岛边界if(data[i][0] == -1){data[i][0] = j;}if(data[j][2] == -1){data[j][2] = i;}data[i][1] = j;data[j][3] = i;}}}int area = 0;for(i=0;i<N;i++){for(j=0;j<N;j++){if(island[i][j] == 0){ //小岛边界if(i > data[j][2] && i < data[j][3] && j > data[i][0] && j < data[i][1]){area++;//printf("i=%d,j=%d\n",i,j); for debug}}}}printf("%d\n",area);}return 0;}3.【问题描述】统计关键字出现位置输入:一行标准c语言代码(字符个数小于300),统计出该字符串中关键字的if,while,for所在的位置,按照关键字出现的顺序依次输出。
注意双引号内的不需要统计。
输入:一行标准c语言代码,字符个数小于300输出:关键字if,while,for对应的位置,按照关键字出现的顺序依次输出。
输出格式为:关键字,后跟冒号,然后是出现的位置。
扫描到关键字就输出,每个输出占一行。
样例输入:#include <stdio.h> int main() {int i = 0; if(i == 0) printf("YES"); return 0;} #include <stdio.h> int main() {int ifwhile = 0; int forif = 1;char if_for_while= 'a';char *str = "while"; while(ifwhile == 0) {ifwhile = 1;forif = 0;} if(forif== 0) {if_for_while = 'b';} if(ifwhile == 1) {if_for_while = 'c';} return 0;} 样例输出:if:43while:88if:133if:170首先把输入字符串切分为一个个的单词,然后对每个单词进行匹配。
注意c语言中的strtok函数,不能够返回位置(当分隔符连续时,比如+=,计算出前导的分割符有几个),所以不能满足本题的要求,必须自己写获取单词的函数(反正也不复杂啦)。
因为考虑到引号的问题,我们的解决方案是首先对输入字符串进行预处理,将“”内的每个字符都替换为#,然后再进行单词分割(切词),最后进行匹配。
具体步骤:➢输入源码字符串预处理,将””内的每个字符替换为#➢一次获取源码中的单词,看是否为查找的关键词,如果是则输出#include<stdio.h>#include<stdlib.h>#include<string.h>#define DEBUG_BUAA_123#define MAX_WORD_LEN 128#define MAX_LEN 300#define KW_NUM 3/*** 将一段源代码中间的,位于双引号“”的以#代替*/void replaceQuota(char buf[]){int i;int len = strlen(buf);int quotaL = 0,quotaR = 0;for(i=0;i<len;i++){if(buf[i] == '"'){if(quotaL == 0){ //左引号quotaL = 1;}else{ //右引号quotaL = quotaR = 0;}}else{if(quotaL == 1){ //该字符属于引号之间的,替换为#buf[i] = '#';}}}}// 判断字符是否为分隔符int isdelim(char ch){switch(ch){case' ':case'=':case',':case';':case'<':case'>':case'(':case')':case'{':case'}':return 1;default:return 0;}/*** 从input数组下标pos处开始一个单词,返回的单词放在word数组中* 返回下次查找开始的位置*/int getWord(char input[],int pos,char word[]){int len = strlen(input);int i;int isbegin = 0;int wpos = 0;for(i=pos;i<len;i++){if(isdelim(input[i])){if(isbegin == 0){ //略过该分隔符continue;}else{ //单词获取结束break;}}else{isbegin = 1;word[wpos++] = input[i];}}word[wpos]='\0'; //结束标志,勿忘,切记return (i>=len) ? -1:i; //如果到文件结尾了,返回-1}int main(){char input[300];char word[MAX_WORD_LEN];#ifdef DEBUG_BUAA_123freopen("/Users/bwiunbuaa/tmp/oj/buaa_123.in", "r", stdin);#endif/* JOBDU_H_ */char delim[] = " ,();\",+-*/=<>?:"; //单词分隔符while(gets(input) != NULL){//首先对input进行预处理,将引号中间的字符都转化为#replaceQuota(input);int beg_pos = 0;do{beg_pos = getWord(input,beg_pos,word);int wlen = strlen(word);//判断是否为指定的关键字if(strcmp("if",word) == 0){printf("if:%d\n",beg_pos-wlen+1);//位置以1开始,而不是0,所以要加1}else if(strcmp("while",word) == 0){printf("while:%d\n",beg_pos-wlen+1);}else if(strcmp("for",word) == 0){printf("for:%d\n",beg_pos-wlen+1);}}while(beg_pos >= 0);}return 0;}11年上机题1. 【问题描述】孪生数定义:如果 A 的约数(因数,包含1,但不包含A本身)之和等于 B , B 的约数(因数)之和等于 A , A 和 B 称为孪生数(A和B不相等)。