华科计算机保研复试机试题目

合集下载

华科计算机考研复试历年上机题汇总

华科计算机考研复试历年上机题汇总

华科历年上机题汇总(欢迎补全)代码都很多是我自己写的,不一定正确啊!错了可不负责任的,呵呵~~~仅供参考!==》10年保送生上机试题1、不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。

#include<stdio.h>#include<stdlib.h>int main(){char s1[200],s2[100];int i,len1,len2;scanf("%s %s",s1,s2);for(i=0;i<200;i++){if(s1[i]=='\0'){len1=i;break;}}for(i=0;i<100;i++){if(s2[i]=='\0'){len2=i;break;}}for(i=len1;i<len1+len2;i++){s1[i]=s2[i-len1];}printf("%s\n",s1);system("pause");}2、输入一串数,要求建平衡二叉排序树,然后先序遍历。

3.、有4个小问,是超长整数的存储、计算、输出。

要把超长整数存在一个单向循环链表中,是每四位一个节点。

注:我是用单链表写的!感觉单循环链表没有什么用处么~~~#include<stdio.h>#include<string.h>#include<stdlib.h>#define MAXLEN 100typedef struct node{int data;struct node *next;}LNode,*LinkList;int changeString(char s[],int len){//把字符串长度变成4的整数倍;int i,temp;char ss[MAXLEN];if(len%4!=0){temp=4-len%4;//需要在前面添加的0的个数;for(i=0;i<len;i++){ss[i]=s[i];}for(i=0;i<temp;i++){s[i]='0';}for(i=temp;i<temp+len;i++){s[i]=ss[i-temp];}}return temp;}LinkList createList(char *s,int len){//创建单链表;int i,temp,add_len;LinkList L,p,start;if(len<=0){return NULL;}add_len=changeString(s,len);len+=add_len;i=0;temp=0;while(i<4&&i<len){//给头结点赋值;temp=temp*10+s[i]-'0';i++;}L=(LinkList)malloc(sizeof(LNode));//头结点;L->data=temp;L->next=NULL;start=L;temp=0;while(i<len){//继续创建单链表;if((i+1)%4==1){//需新建一个结点;p=(LinkList)malloc(sizeof(LNode));}temp=temp*10+s[i]-'0';if((i+1)%4==0||i==len-1){//一个结点结束;p->data=temp;p->next=NULL;start->next=p;//插入结点;start=p;temp=0;//重新计数;}i++;}start->next=NULL;return L;}LinkList reverse(LinkList L){//逆转单循环链表;LinkList p,q,r;if(L!=NULL){p=L->next;L->next=NULL;while(p!=NULL){q=p;p=p->next;q->next=L;L=q;//printf("**%d\n",L->data);}return L;}return NULL;}void display(LinkList L){//打印输出单链表;LinkList p;printf("%d ",L->data);p=L->next;while(p!=NULL){printf("%d ",p->data);p=p->next;}printf("\n");}LinkList add_LNumber(LinkList L1,LinkList L2){//2大数相加,单链表实现;LinkList L,p,q,head,r;int c;//进位;int temp;L=(LinkList)malloc(sizeof(LNode));head=(LinkList)malloc(sizeof(LNode));head->next=NULL;L=head;p=L1;q=L2;c=0;while(p!=NULL&&q!=NULL){r=(LinkList)malloc(sizeof(LNode));temp=p->data+q->data+c;r->data=temp%10000;//printf("***%d\n",r->data);r->next=NULL;c=temp/10000;head->next=r;head=r;p=p->next;q=q->next;}while(p!=NULL){//L1剩余部分非空;r=(LinkList)malloc(sizeof(LNode));temp=p->data+c;r->data=temp%10000;r->next=NULL;c=temp/10000;head->next=r;head=r;p=p->next;}while(q!=NULL){//L2剩余部分非空;r=(LinkList)malloc(sizeof(LNode));temp=q->data+c;r->data=temp%10000;r->next=NULL;c=temp/10000;head->next=r;head=r;q=q->next;}if(c!=0){//还有进位;r=(LinkList)malloc(sizeof(LNode));r->data=c;r->next=NULL;head->next=r;}return L->next;}int main(){char s1[MAXLEN],s2[MAXLEN];int len1,len2,add_len,i;LinkList L1,L2,L;L1=(LinkList)malloc(sizeof(LNode)); L2=(LinkList)malloc(sizeof(LNode)); printf("请输入第一个大数:\n"); scanf("%s",s1);len1=strlen(s1);L1=createList(s1,len1);printf("请输入第二个大数:\n"); scanf("%s",s2);len2=strlen(s2);L2=createList(s2,len2);L1=reverse(L1);L2=reverse(L2);//display(L1);//display(L2);L=add_LNumber(L1,L2);//display(L);L=reverse(L);display(L);}==》09年09华中科技大学复试有关题目嵌入式方向笔试是数据库和算法概论数据库考了查询语言,死锁,等等算法概论:1题:好像是螺丝和螺母问题,每个螺丝对应一个螺母,大概有100对吧,找出相应对,最后计算时空复杂度。

计算机专业复试面试经典问题(含答案)

计算机专业复试面试经典问题(含答案)

计算机专业复试面试经典问题(含答案)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢while(1){}或者for(;;){}3. 用变量a给出下面的定义a) 一个整型数(An integer)b)一个指向整型数的指针(A pointer to an integer)c)一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an intege)rd)一个有10个整型数的数组(An array of 10 integers)e) 一个有10个指针的数组,该指针是指向一个整型数的。

(An array of 10 pointers to integers)f) 一个指向有10个整型数数组的指针(A pointer to an array of10 integers)g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of ten pointers to functions that take an integer argument and return an integer )答案是:a) int a; 键字static的作用是什么这个简单的问题很少有人能回答完全。

在C语言中,关键字static 有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

计算机保研面试算法和编程题

计算机保研面试算法和编程题

计算机保研面试算法和编程题
计算机保研面试通常涉及算法和编程题,这些题目旨在评估申
请者的编程能力、逻辑思维和解决问题的能力。

在面试中,可能会
涉及以下类型的问题:
1. 算法题,这类问题通常涉及对数据结构和算法的理解和运用。

例如,可能会要求申请者解决一些经典的算法问题,如排序算法、
查找算法、图算法等。

这些问题旨在考察申请者对算法的理解和应
用能力。

2. 编程题,申请者可能会被要求在面试过程中进行编程,解决
特定的问题。

这些问题可能涉及字符串处理、数组操作、递归算法等。

申请者需要展示他们的编程技能和解决问题的能力。

3. 数据结构题,面试官可能会要求申请者实现特定的数据结构,如栈、队列、链表、树等,或者要求申请者针对特定问题选择合适
的数据结构并进行实现。

4. 综合性问题,除了单独的算法和编程题,面试中可能还会有
一些综合性的问题,要求申请者综合运用所学的知识解决实际问题,
或者设计算法来解决具体的需求。

在面试过程中,申请者需要展现对编程语言的熟练掌握,对常见算法和数据结构的理解和应用能力,以及解决问题的灵活性和创造力。

为了准备这些问题,申请者可以通过刷LeetCode、LintCode 等在线编程题库来提升自己的编程能力和解决问题的能力,复习数据结构和算法的基础知识,并多做一些实际的编程练习来提升自己的编程水平。

同时,也可以通过参加一些编程比赛或者项目实践来增强自己的编程能力和解决问题的能力。

希望这些建议能够帮助你更好地准备计算机保研面试中的算法和编程题。

计算机考研复试题目及答案

计算机考研复试题目及答案

计算机考研复试题目及答案计算机考研复试作为考生进入硕士研究生阶段的重要一环,对考生的计算机专业知识以及解决问题的能力进行全面考察。

下面将给大家介绍一些常见的计算机考研复试题目及答案,希望能够对考生们的备考有所帮助。

一、综合知识与技术能力1. 请简述计算机系统结构并指出其中的关键组成部分。

计算机系统结构由四个主要组成部分构成:中央处理器(CPU)、存储器、输入设备和输出设备。

其中,中央处理器是计算机的核心,负责进行数据的计算和操作;存储器用于存储数据和程序;输入设备用于将外部信息输入计算机系统;输出设备则是将计算机处理的结果显示给用户。

2. 请说说主流操作系统的分类及其特点。

主流操作系统主要分为四类:分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

分时操作系统以时间片轮转的方式实现多个用户同时使用计算机系统,具有良好的用户体验和资源管理能力;实时操作系统主要用于对时间要求严格的任务处理,能够满足实时性要求;网络操作系统则是针对网络环境下的计算机系统,强调对网络资源的管理和协同工作;分布式操作系统则是将多台计算机组成一个整体共享资源的系统,实现了资源共享和负载均衡的优点。

二、数据结构与算法1. 请简述常见的排序算法并给出它们的时间复杂度。

常见的排序算法有冒泡排序、选择排序、插入排序、快速排序和归并排序。

冒泡排序的时间复杂度为O(n^2);选择排序的时间复杂度也为O(n^2);插入排序的时间复杂度为O(n^2);快速排序的时间复杂度为O(nlogn);归并排序的时间复杂度也为O(nlogn)。

2. 请解释什么是动态规划算法,并给出一个应用实例。

动态规划算法是指通过对问题进行划分和确定状态转移方程,将问题分解为若干子问题的求解得到最优解的方法。

一个经典的动态规划应用实例是求解斐波那契数列。

斐波那契数列定义为:F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2)。

我们可以使用动态规划算法以时间复杂度O(n)求解斐波那契数列中的第n项。

华科历年上机真题以及解答part2

华科历年上机真题以及解答part2

2007(3)矩阵转置题目描述:输入一个N*N的矩阵,将其转置后输出。

要求:不得使用任何数组(就地逆置)。

输入:输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。

接下来的N行每行有N个整数,分别代表矩阵的元素。

输出:可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。

样例输入:31 2 34 5 67 8 9样例输出:1 4 72 5 83 6 9AC:#include <stdio.h>#include <stdlib.h>#define N 101void main(){int n, i, j;int matrix[N][N];while(scanf("%d", &n) != EOF){for(i = 0; i < n; i ++){for(j = 0; j < n; j ++)scanf("%d", *(matrix + i) + j);}for(i = 0; i < n; i ++){for(j = 0; j < n; j ++){if(j == n - 1)printf("%d\n", matrix[j][i]);elseprintf("%d ", matrix[j][i]);}}}}2008保研(1)农夫、羊、菜和狼的故事题目描述:有一个农夫带一只羊、一筐菜和一只狼过河.果没有农夫看管,则狼要吃羊,羊要吃菜.但是船很小,只够农夫带一样东西过河。

问农夫该如何解此难题?输入:题目没有任何输入。

输出:题目可能有种解决方法,求出步骤最少的解决方法,按顺序输出农夫想把羊、菜、狼全部运过河需要哪几个步骤。

如果需要将羊带过河去则输出“sheep_go”。

如果需要将羊带回来则输出“sheep_come”。

如果需要将菜带过河去则输出“vegetable_go”。

计算机考研复试题目及答案解析

计算机考研复试题目及答案解析

计算机考研复试题目及答案解析前言:计算机考研的复试是考生进入研究生阶段的重要一步,复试中将进行笔试和面试环节。

笔试是考察考生的基础知识和专业素养,而面试则更加注重考生的综合能力和研究潜力。

本文将为大家介绍一些常见的计算机考研复试题目,并给出答案解析,以帮助考生更好地应对复试。

一、操作系统1. 什么是进程和线程?它们有什么区别?答案解析:进程是指正在运行的程序的实例,具有独立的内存空间和系统资源。

线程是进程中的一个执行单元,一个进程可以包含多个线程。

进程是资源分配和调度的基本单位,而线程是CPU调度和执行的基本单位。

2. 解释虚拟内存的概念。

答案解析:虚拟内存是指利用磁盘空间来扩展可寻址的内存空间,使得进程可以拥有比物理内存更大的地址空间。

虚拟内存的大小受到物理内存和硬盘空间的限制。

二、数据结构与算法1. 请解释栈和队列的概念,并分别给出它们的应用场景。

答案解析:栈是一种先进后出(FILO)的数据结构,队列是一种先进先出(FIFO)的数据结构。

栈常用于递归、表达式求值和括号匹配等场景,而队列常用于模拟队列等实际应用场景。

2. 解释二叉搜索树(BST)的特点,并给出其查找和插入操作的时间复杂度。

答案解析:二叉搜索树是一种有序的二叉树,其中左子树的节点值都小于根节点,右子树的节点值都大于根节点。

其查找操作的时间复杂度为O(log n),插入操作的时间复杂度也是O(log n),其中n表示树的节点数。

三、数据库1. 什么是关系数据库?举例说明其常见的特点和优势。

答案解析:关系数据库是基于关系模型的数据库,采用表的形式存储数据。

其常见特点包括数据的结构化、数据的共享性、数据的完整性和数据的独立性。

关系数据库具有良好的数据一致性和可扩展性。

2. 解释事务的概念,并说明ACID特性的含义。

答案解析:事务是指数据库操作的一个执行单元,要么全部执行成功,要么全部回滚。

ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),是事务应满足的特性。

计算机复试题库及答案大全

计算机复试题库及答案大全

计算机复试题库及答案大全在计算机科学领域,复试是通过考核和筛选学生的重要环节。

为了帮助准备计算机复试的同学们更好地备考,我整理了一份计算机复试题库及答案大全,旨在提供全面而有效的复试备考材料。

以下是题库中的部分问题及其详细答案。

一、计算机网络1. 解释OSI参考模型的七层结构及其各层的功能。

答案:OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个概念模型,用于解释计算机网络中不同层次的通信协议。

它包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

- 物理层:负责在物理媒介上传输比特流。

- 数据链路层:负责对物理连接进行编码和解码,提供可靠的数据传输。

- 网络层:负责将数据从源地址传输到目标地址。

- 传输层:提供可靠的端到端数据传输服务。

- 会话层:在不同主机之间建立和管理会话。

- 表示层:处理数据的表示和转换,例如加密和解密。

- 应用层:提供特定网络应用程序间的数据传输。

二、数据结构与算法1. 请解释什么是线性表,并给出线性表的两种存储结构。

答案:线性表是由n个数据元素(a1, a2, ..., an)组成的有限序列。

线性表的两种存储结构包括顺序存储结构和链式存储结构。

- 顺序存储结构:线性表的元素在计算机内存中按照一定顺序依次存放。

通过元素在存储空间中的物理相邻关系来实现逻辑上的顺序关系。

- 链式存储结构:线性表的元素通过指针相连,每个元素包含数据和指向下一个元素的指针。

三、操作系统四、数据库系统五、软件工程六、计算机网络安全七、人工智能八、计算机图形学九、计算机体系结构十、数据库系统十一、编译原理以上只是题库中的一部分内容,希望这份计算机复试题库及答案大全可以为你的复试备考提供一些指导和帮助。

祝你在复试中取得优异的成绩!。

谢希仁 计算机网络 华科考研复试 习题

谢希仁 计算机网络 华科考研复试 习题

习题二
1、模拟传输和数字传输各有何优缺点?为什么数字化是 今后通信的发展方向? 2、用香农公式计算一下,假定信道带宽为3100Hz,最大 信息传输速率为35kbps,那么若想使最大信息传输速率增 加60%,问信噪比S/N应增大到多少倍?如果在刚才计算 出的基础上将信噪比S/N再增大到10倍,问最大信息速率 能否再增加20%? 3、简要说明为什么T1的速率为1.544Mbps,E1的速率为 2.048Mbps? 4、画出信息“101011”的不归零码 曼彻斯特编码 差 不归零码、曼彻斯特编码 不归零码 曼彻斯特编码、差 分曼彻斯特编码波形图。 分曼彻斯特编码
?2用香农公式计算一下假定信道带宽为3100hz最大信息传输速率为35kbps那么若想使最大信息传输速率增加60问信噪比sn应增大到多少倍
习题一
1、试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 2、试在下列条件下比较电路交换和分组交换。要传送的报文共 x(bit)。从源站到目的站共经过k段链路,每段链路的传播时延为d(s)。 数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换 时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎 样的条件下,分组交换的时延比电路交换的要小? 3、举出OSI参考模型和TCP/IP参考模型的两个共同点及两个不同点。 4、OSI的哪一层分别处理以下问题: 把传输的比特流划分为帧; 决定使用哪条路径通过通信子网。
习题三
1、要发送的数据为1101011011。采用CRC的生成多项式是 P(X)=X4+X+1。试求应添加在数据后面的余数。数据在传输 过程中最后一个1变成了0,问接收端能否发现?若数据在传 输过程中最后两个1都变成了0,问接收端能否发现? 2、双工停等协议中为什么采用“背回”技术? 3、有一比特串0110111111111100用HDLC协议传送。经过 零比特填充后变成怎样的比特串?若接收端收到的HDLC帧 的数据部分是0001110111110111110110,问删除发送端加 入的零比特后变成怎样的比特串?

计算机专业复试面试的题目集

计算机专业复试面试的题目集

计算机专业复试集锦1.什么是程序局部性,为什么会有程序的空间局部性程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域;空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的;2.比较TCP与UDPTCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程;TCP提供的是面向连接服务,提供可靠交付;且具有流量控制和拥塞控制;可用于可靠要求高的场合如:SMTP,FTP,HTTP等;UDP提供的是无连接服务,提供不可靠交付,且无确认机制;主要用于即时强的场合如:视频聊天,语音电话等;3.网络协议的三个核心要素,及概念.各起什么作用语法,定义了数据与控制信息的格式;语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应;同步,定义了事件实现顺序的详细说明;4.关系数据库都有那些操作,特点是什么◇查询:选择、投影、连接、除、并、交、差◇数据更新:插入、删除、修改关系操作的特点:集合操作方式,即操作的对象和结果都是集合;5. 解释一下网络体系结构,它得实现和理论有什么区别是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准;网络体系统结构采用分层结构,各层之间相互独立、较易维护、灵活性好;国际标准化组织制定了OSI/RM标准,该标准采用了七层结构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整;而TCP/IP却成为了事实上的标准,它采用了四层结构即应用层、传输层、网络层和网络接口层;6.为了实现重定位需要哪些硬件最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址;当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件;7.数据库保护访问的内容有哪些利用权限机制,利用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制8.在交互式系统中,非剥夺是不是一个好的策略为什么非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程;剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程;剥夺原则有:优先权原则、短进程、优先原则、时间片原则;在分时系统中不剥夺并不是一个好的策略;因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素;当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行;以提高整体的吞吐量;9.DBA的职责是什么DBA则是这个机构的一个组人员,负责全面管理和控制数据库系统.职责有:1决定数据库中的信息内容和结构:数据库中要存放哪些信息2决定数据库的存储结构和存取策略:获得较高的存取效率和存储空间利用率3约定义数据的安全性要求和完整性约束条件:负责确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件4监控数据库的使用和运行:转储数据、维护日志文件、故障恢复5数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设计10.系统调用的定义系统调用是OS与应用程序之间的接口,它是用户程序取得OS服务的惟一途径;它与一般的过程调用的区别:运行在不同的系统状态;调用程序在运行在用户态,而被调用的程序运行在系统态;通过软中断机制,先由用户态转为系统态,经枋心分析后,才能转向相应的系统调用处理子程序;一般的过程调用返回后继续执行,但对系统调用,当调用的进程仍具有最高优先权时,才返回到调用进程继续处理;否则只能等被重新调度;11.死锁是什么指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况下这些进程都将无法再向前推进的状态;12.CPU不执行程序的时候干什么当没有被任何程序使用的时候,计算机的处理器被认为是空闲的;当然下面提到的空闲任务不在此列中;当有程序利用CPU空闲时间的时候,就意味着它以较低的优先权运行着,以便不会影响那有正常优先权的程序运行;一般来讲,这会引起CPU消耗更多的电能,而大多数的现代CPU当它们空闲的时候是能够进入省电模式的;大多数操作系统都有个空闲任务,它是一个特殊的任务;仅当CPU无事可做的时候由操作系统调度器载入它;在现代的处理器中,HLT停机指令节省了大量的电能与执量,而空闲任务几乎总是由一个重复执行HLT停机指令的循环组成;13.举例解释一下同步和互斥同步表现为直接制约,如管道通信,一个进程写,一个进程读,它们是相互制约的;互斥表现为间接制约,比如多个进程同时请求打印机没使用SPOOLing技术、多个进程同时请求一张网卡发送数据包等;14.解释一下管程管程是由一组局部变量、对局部变量进行操作的一组过程和对局部变量进行初始化的语句序列组成;引入它的目的是因为Wait/Singal操作太过分散,对它的维护很麻烦且容易造成死锁;管程的特点是:管程的过程只能访问管程的局部变量,管程的局部变量只能由其过程来访问;任何时刻只能有一个进程进入管程执行;进程只能通管程提供的过程入口进入管程;15.在可变分区管理中,需要哪些硬件机制采用可变分区方式管理时,一般均采用动态重定位方式装入作业;地址变换要靠硬件支持,主要是两个寄存器:基址寄存器和限长寄存器,限长寄存器存放作业所占分区的长度,基址寄存器则存放作业所占分区的起始地址,这两个值确定了一个分区的位置和大小;转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再加上基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断;16.中断和陷入有什么异同外中断时指来自处理机和内存外部的中断,如I/O中断、定时器中断、外部信号中断等;狭义上也叫中断;内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出、除数为零等;中断和陷阱的主要区别:1陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的;2陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的;3CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱;17.数据库系统和文件系统相比有什么优点文件系统数据库管理系统某一应用18.计算机网络和分布式计算机系统的区别两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有通信和资源共享的功能;区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算机上并行运行;且具有透明性,用户不知道数据、资源的具体位置,整个网络中所有计算机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各计算机通常是各自独立进行工作的;19.为什么引入多道程序技术因为引入多道程序技术后,可以进一步提高了CPU利用率阻塞,提高内存和I/O设备利用率小作业把内存浪费了,增加系统吞吐量两都提高后的必然;20.什么是管态什么是目态它们与进程运行状态的关系是什么CPU交替执行操作系统程序和用户程序;管态又叫特权态,系统态或核心态;CPU在管态下可以执行指令系统的全集;通常,操作系统在管态下运行;目态又叫常态或用户态;机器处于目态时,程序只能执行非特权指令;用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统;21.n个任务一个cup,阻塞,运行,就绪的进程最多有多少个阻塞n个;运行1个;就绪n-1个;22.波特和比特的区别波特是码元传输的踵率单位,说明每秒传多少个码元;码元传输速率也称为调制速率、波形速率或符号速率;比特是信息量的单位,与码元的传输速率"波特"是两个完全不同的概念;但是,信息的传输速率"比特/秒"与码元的传输速率"波特"在数量上却有一定的关系;23.什么是网络延时时延delay或latency是指一个报文或分组从一个网络或一条链路的一端传送到另一端所需的时间;24.什么是完整性约束强制数据完整性可确保数据库中的数据质量;25.什么是码元什么是码元长度在数字通信中常常用时间间隔相同的符号来表示一位二进制数字;这样的时间间隔内的信号称为二进制码元,而这个间隔被称为码元长度;26.结合Internet,说说有连接服务和无连接的服务面向连接服务具有连接建立、数据传输和连接释放这三个阶段;面向连接服务是在数据交换之前,必须先建立连接;当数据交换结束后,则必须终止这个连接;在传送数据时是按序传送的,是可靠交付;面向连接服务比较适合于在一定期间内要向同一日的地发送许多报文的情况;无连接服务,两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留;这些资源将在数据传输时动态地进行分配;无连接服务的优点是灵活方便和比较迅速;但无连接服务不能防止报文的丢失、重复或失序;是一种不可靠的服务;这种服务常被描述为"尽量大努力支付";27.点对点和端到端工作在哪层工作机制28.DBMS支持那几种数据模型29.父子进程是否可以并发运行30.SQL的四个组成部分31.数据库操纵语言举例32.介绍下有哪些应用数据库33.什么是数据独立性;34.网络时延又拿几部分组成各产生于何处35.实体协议服务36.1NF是啥,数据模式37.缓冲的定义,为什么引入38.TCP/IP网络协议的核心是什么,如何引出“overeverything”和“everythingover”39.数据库的关系操作有哪些各有什么作用40.用白军和蓝军解释下没有100%可靠的通信数据库1.文件系统和DBS的最大区别在什么地方,DBS还有哪些特点;2.和文件系统相比,数据库文件有什么优点3.试述DBMS的数据模型;,DBMS支持那几种数据模型4.系数据库的关系操作都有那些,特点是什么5.数据库保护访问的内容有哪些是啥,数据模式,7.数据库操纵语言举例的职责是什么9.完整性约束是什么10.介绍下有哪些应用数据库11..SQL的四个组成部分在不执行任何程序时在做什么;2,根据蓝军白军分析不可能有百分之百的协议;3:什么是系统调用..4:结合Internet,说明怎么得到有连接和无连接的服务5:什么是缓冲引入缓冲的作用是什么6:网络协议的三要素是什么各起什么作用7.点对点和端到端工作在纳层工作机制8.什么是管程9.,为什么会有程序的空间局部性10.比较TCP/UDP11.父子进程是否可以并发运行12.网络协议的三个核心要素,及概念:3个核心要素就是:协议,服务,接口语法语义同步13.解释一下网络体系结构,它得实现和理论有什么区别14.为了实现重定位需要哪些硬件15.网络时延由哪3部分组成各产生于何处16.在交互式系统中,非剥夺是不是一个好的策略why17.什么叫1,实体协议服务18.缓冲的定义,为什么引入19.系统调用的定义20.死锁是什么21.举例解释一下同步和互斥22.还有关于管程的23.父进程跟子进程能并发执行吗24.网络时延又拿几部分组成各产生于何处25.在可变分区管理中,需要哪些硬件机制26.协议的三要素是什么请分别说明27.中断和陷入有什么异同28.计算机网络和分布式计算机系统的区别29.为什么引入多道程序技术IP网络协议的核心是什么,如何引出“overeverything”和“everythingover”31.什么是数据独立性;32.什么是管态什么是目态它们与进程运行状态的关系是什么33.在没有程序运行时,CPU在做什么34.以INTERNET为例,说明用户怎样获得面向连接服务和面向非连接服务35.在n个cpu中,阻塞,运行,就绪的进程最多有多少个36.波特和比特的区别37.可变分区需要什么硬件支持38.电路与分组交换的区别。

计算机复试面试题总结

计算机复试面试题总结

计算机复试面试题总结1. 编译程序和解释程序的区别。

2. 请介绍一下你本科期间做过的项目。

3. 请问你为什么要考研究生。

4. 请问你毕业设计的核心设计问题,5. 排序算法有哪些,排序算法中最快的算法是哪个.,6. 你有钱读研吗,7. 你为什么考研?8. 你选择哪个研究方向?9. 虚拟存储器,死锁,虚拟设备,临界区,线程,交换,地址重定位,文件系统,抖动 10. 什么是DMA,请举例说明读写一次磁盘的DMA过程11. 如果你的分数不够,是否愿意调剂12. 计算机领域有什么主要的刊物IEEE Transactions on Image Processing Chinese Journal of Computers Pictures and ImagesRemote sensing technology and application Computer ScienceJournal of Image and Graphics 图像处理汇刊中国计算机学报图片和图像遥感技术与应用计算机科学图象图形学报13. 计算机界有什么主要的企业14. 数据库有哪些基本操作据库的基本操作主要是增加、删除、修改,操作对象主要包括数据库、表、记录、字段等另外对于事务还有回滚大型数据库管理软件里面包括对数据库进行管理的操作,包括对用户、作业、日志、存储过程、函数等等15. 你觉得应该怎样开始一项研究工作16. 做过什么,用什么做,java的特性是什么,你做的东西有什么功能,重点什么,有什么体会? 17. 解释与编译的区别java与c++的区别(C,C++,Visual C++的区别)18. ISO七层模型有哪些?19. 黑盒,白盒测试?白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

【华科】历年机试题汇总打印下来随身带着

【华科】历年机试题汇总打印下来随身带着

华科历年上机题汇总(欢迎补全)2014华科机试回忆1.超素数就是这样的数,比如2333,2是素数,23是素数,233是素数,2333是素数,找出所有的四位超素数。

每行输出六个,数之间空格隔开。

(我的做法是先开个10000的数组,找出每个是素数的数组值为1,否则为0,对于每个四位数,分别看这几位是否都是素数即可,注意1不是素数)2.两个二进制数加减乘除,short型的,十六位,比如101 100 +,输出1001,也可把前几位0输出。

(我刚开始想用大数运算来计算,发现比较麻烦,就把这两个数转化为十进制,然后运算,再转化为short型的二进制(转化为二进制时我的负数形式估计考虑错了))。

3.判断一个整型变量是否正确,比如02是八进制,0x2是十六进制,12是十进制,只有这三种进制判断。

前面的0是零。

(我判断时将八进制和十六进制的负数形式搞错了,以为这两种也是前面加个负号(比如-01,-0x1)的,其他的都能判断出来,三个大if 语句就行了)。

大致就只能想出这些了,建议你们找找图片版的,其他同学应该已经上传了。

可以看出今年的试题还是很基础的,没有很复杂的算法。

算法一定要注释,首先说出自己的大致想法。

当时时间比较急,我也没细想,做的题想法也不一定好,反正能先运行再说。

2013华科机试试题回忆版1.素数就是不能被等分的数,如3,5,7等。

一个数n是素数,若n+2也是素数,则,这两个数是孪生素数。

找不超过整数m(m在5到10000之间)的最大孪生素数。

2.回旋矩阵:如5的回旋矩阵是1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9输入一个n,求他的回旋矩阵。

3.求一个字符串的最右最长回文子串。

字符串包括字符和标点,空格可忽略。

如abba是回文a bb a也是回文。

你这回忆不完整啊,第三题是考虑回文子串的时候要忽略掉标点符号,打印输出的时候要再加上->12上机按照要求是可以使用VC,TC和CodeBlocks环境。

计算机面试题目(3篇)

计算机面试题目(3篇)

第1篇一、基础知识1. 请解释一下什么是位运算,并举例说明其应用场景。

位运算是指对二进制位进行操作的运算,主要包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)等。

以下是一些应用场景:(1)按位与:用于判断两个整数的某一位是否同时为1。

(2)按位或:用于将两个整数的对应位进行或运算,得到结果。

(3)按位异或:用于将两个整数的对应位进行异或运算,如果两个位相同,则结果为0;如果两个位不同,则结果为1。

(4)按位取反:用于将整数的每一位取反,即将0变为1,将1变为0。

(5)左移:用于将整数的二进制表示向左移动指定的位数,右边的位被丢弃,左边补0。

(6)右移:用于将整数的二进制表示向右移动指定的位数,左边的位被丢弃,右边补0。

2. 请解释一下什么是数据类型,并列举常见的几种数据类型。

数据类型是指用于定义变量存储的数据种类的类型。

以下是一些常见的几种数据类型:(1)整型(int):用于存储整数,如int a = 10;(2)浮点型(float、double):用于存储实数,如float b = 3.14;(3)字符型(char):用于存储单个字符,如char c = 'A';(4)布尔型(bool):用于存储布尔值,如bool d = true;(5)数组:用于存储一系列相同类型的数据,如int arr[10];(6)结构体(struct):用于存储不同类型的数据,如struct Person {int age; char name[20];};(7)指针:用于存储变量的地址,如int ptr = &a。

3. 请解释一下什么是面向对象编程,并举例说明其应用场景。

面向对象编程(OOP)是一种编程范式,它将数据和行为封装在对象中,强调继承、封装和多态。

以下是一些应用场景:(1)设计大型软件系统,如操作系统、数据库等;(2)开发图形用户界面(GUI)应用程序;(3)开发网络应用程序,如Web应用、移动应用等;(4)开发游戏和模拟软件。

华科控制复试历年试题04-08

华科控制复试历年试题04-08

复试:华科复试考的科目比较多,有6门课,分别是微机原理、数电、电路、c语言、单片机和计算机网络,另外还加了读科技论文写摘要。

由于考试科目比较多,我觉得要很有侧重的复习,主要精力要放在微机原理和数电上,2011的复试微机原理和数电可以说是占半壁江山(约占50%),下面我将复试题目写一下:第一题:填空题(25分)主要有:1.求[x+y]补,以及将该补数做8位有符号数的扩展,其中x是一个正数,y是一个负数。

2.8086cpu复位各个段寄存器、ip的值以及cpu开始执行指令的第一个物理单元。

堆栈进栈出栈sp的值以及执行mov ax,【1000H】后,ax的值。

3.给了一个正弦函数的表达式,求瞬时值及频率。

求戴维宁等效电路,求一个电阻上消耗的功率。

4.单片机中mcu以及mpu的含义5.根据规律填数字,一个与专业课无关的一个题目6.数电里面拉电流与灌电流的判断,以及卡诺图中那个和那个状态不相邻,写出卡诺图就可以知道结果7.计算机网络ip数据报首部长度字段的最小与最大字节数(20-60字节)第二题:大题1.8086cpu存储器扩展的一个题目,用到了BHE和A0,也就是奇偶地址寻址,然后写去各个存储器的物理地址范围;(10分)2.根据硬件电路求中断类型码的题目,先简述cpu响应外部中断的过程,然后求中断类型码,并将中断服务程序的入口地址装入内存,用到的芯片是74ls244,这个题目10、11年都考过,估计12年会继续;(10分)3.用74161(4位二进制加计数器芯片)设计一个十一进制的计数器,可用反馈清零法或反馈置数法。

(7分)4.根据74161芯片的连接,写去定时器的状态图,然后判断定时器的模数和自启动能力。

(8分)5.电路:一个简单的计算题(5分)6.计算机网络:写去一个2进制数序列的曼彻斯特编码、ask编码(这个我记得不太清楚了,反正我在课本上没有发现这个编码)(5分);海明码(5分)7.c语言:考的是链表的题目:给一个链表插入一个节点(课本上的原题)(10分)8.根据一篇科技论文写200-300字的摘要,这是今年新出的题目,写了就可以得分(15分)10年复试回忆微机部分:求补码,给段程序,求ax、dx、sp等的值,中断部分比较综合,需要系统掌握(10分),8255、8253综合(10分),比较好得。

计算机研究生复试考题

计算机研究生复试考题

计算机研究生复试考题一、基础知识1.数据结构与算法:复杂度分析、常见数据结构(如数组、链表、栈、队列、树、图等)、常见算法(如排序、查找、图的遍历等)。

2.计算机组成原理:硬件的基本原理、主要组成部分和功能、指令集、中断和异常处理等。

3.操作系统:进程和线程、调度算法、进程同步与通信、虚拟内存、文件系统等。

二、专业知识1.数据库:关系数据库和SQL语言、数据库设计范式、事务和并发控制等。

2.计算机网络:网络协议、TCP/IP模型、网络安全、网络编程等。

3.编译原理:词法分析、语法分析、语义分析、中间代码生成和目标代码生成等。

三、科研能力1.论文阅读和理解:选择其中一篇计算机领域的高水平论文,要求候选人能够完整阅读、理解并进行有效的表述。

2.问题解决能力:面试官会提出一个实际问题或情景,要求候选人能够分析问题、找出解决方案并进行有效的沟通和表达。

四、综合素质1.团队合作能力:给出一个关于团队合作的场景或问题,要求候选人进行思考和表达。

2.创新意识和创业能力:要求候选人展示自己的创新思维和创业能力。

3.表达和沟通能力:面试官会提出一个问题,要求候选人进行有效的口头表达。

五、英语水平1.阅读理解:给出一篇英文科技文献或文章,要求候选人能够理解并回答问题。

2.口语表达:面试官会就一些常见话题进行问答,要求候选人进行流利的口头表达。

以上是计算机研究生复试考题的一些举例和要求,实际考试中可能会根据不同的学校和专业略有不同。

因此,考生需要提前进行充分的准备和复习,掌握基本的知识和技能,并且具备一定的科研能力和综合素质,以便在考试中取得好成绩。

华中科技大学计算机考研复试机试题(含代码)

华中科技大学计算机考研复试机试题(含代码)

华科历年复试机试题汇总上机考试。

一般网站上公布上机环境要求是TC2.0,但实际上是可以使用VC的。

这里有一点特别要大家注意:TC2.0只支持纯C代码,不支持C++风格代码。

华科的计算机学生称,不管你是用VC还是TC,老师都要在TC2.0上进行验收程序,以确认你的代码是纯C。

比如:p = new Node ; 的代码写法在TC2.0下是通不过的,只能写p = (Node *)malloc (sizeof (Node)) ; 。

另外TC2.0不支持引用,如:Pop (Stack &s , ElemType &e)中含有“&”的引用,在TC2.0下无法通过。

华科的上机题目每年都差不多,经常考的就是排序、链表和树的操作等。

建议在去复试前一定要进行专门练习上机。

Note:要快,不要总抓着一个不放,时间在不知不觉中过的是很快的。

2010年的机试题:a、输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数!(如‘3’,输出:10110011);#include <stdio.h>#include <string.h>#define max 1000int pd(char c){int i=0;int num=0;for(i=0;i<7;i++){if(c&(1<<i))num++;}if(num%2==0)return 1;elsereturn 0;}void main(){char a[max];scanf("%s",a);int i,j;int len=strlen(a);for(i=0;i<len;i++){if (pd(a[i])){a[i]=a[i]|(1<<7);}for(j=7;j>=0;j--)if(a[i]&(1<<j))printf("1");elseprintf("0");printf("\n");}}b、设计8个任务函数task0()-task7()只输出一句话:如task0()输出“task0 is called!”;设计一个调度函数schedule ()输入一个字符串如"012345"然后返回一个函数指针数组和字符串的长度作为执行函数execute()的参数进行调度任务函数。

华科计算机保研复试机试题目2

华科计算机保研复试机试题目2

华中科技大学复试机试题目2008年一.1、狼过河问题(运用到回溯)2、统计文件中单词数目3、N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。

(递归)4、链表操作二.第一个是一个上楼梯的种数的统计,本来是一个用递归可以解决的问题,但是题目偏偏要求编写快速算法,言下之意就是要求你把递归转化成非递归。

第二个题是链表的,要求依照给出的结构体依次实现输入链表,保存链表,删除链表,从磁盘读取链表,显示链表这几个操作。

做这个题,如果不记得保存文件的函数,很可能做不全或者做不出来。

第三个是要求根据- | \ / 四个字符来实现题目所规定的一个长方体。

并能使这个长方体适当的放大。

这个是一个递归问题,但是我想了半天也没有做出来。

20061.输入一个数列以0位结束标志,建立链式线性表,查找其中最大的数并输出删除释放节点,然后对剩余的进行排序,并输出释放节点2.输入一个数列以0位结束标志,建立二叉遍历数,并对其进行逆中序遍历,释放空间第一题是对输入的5个数排序,输出的结果到文件里。

第二题是用链表去对上面的5个数字排序。

第三题是输入一个ip地址串,判断是否合法。

2005第一题:对给定的一个字符串,找出有重复的字符,并给出其位置,如:输入:abcaaAB12ab12输出:a,1;a,4;a,5;a,10b,2;b,111,8;1,122,9;2,13第二题:输入一个四行五列的矩阵,找出每列最大的两个数,如:输入:1 2 3 4 9-1 4 9 8 812 9 8 7 07 8 9 7 0输出:12 9 9 8 97 8 9 7 8第三题:输入一个字符串,建立一个二叉排序树,并中序遍历输出;其它年份题目1.给出年分m和一年中的第n天,算出第n天是几月几号(提示中给出了判断闰年的方法),按yyyy-mm-dd的格式打印出来2.职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来,n可以取63.n个人排一圈123报数,报到3的人退到圈外,直到剩最后一个人为止4.冒泡排序。

计算机复试面试题目及答案

计算机复试面试题目及答案

计算机复试面试题目及答案一、介绍在计算机专业的复试面试中,面试官通常会提问一系列与计算机相关的问题,以评估考生的专业知识和技能。

本文将针对计算机复试面试常见的题目进行总结,并针对每个题目提供相应的答案,希望能帮助考生顺利通过复试。

二、数据结构与算法1. 介绍什么是数据结构?数据结构是指数据在计算机中的组织方式,包括线性结构、树形结构、图形结构等。

它与算法紧密相关,是计算机科学的基础。

2. 请简述线性表的种类以及各自的特点。

线性表包括顺序表和链表。

顺序表是一种使用连续的存储空间存储数据的线性表,它的特点是随机访问效率高,但插入和删除元素的效率较低。

链表是一种使用不连续的存储空间存储数据的线性表,它的特点是插入和删除元素的效率较高,但访问元素的效率较低。

3. 请简述树是什么以及树的应用场景。

树是一种非线性的数据结构,它由若干个节点组成,节点之间通过边连接。

树的应用场景包括文件系统的组织、搜索引擎的索引结构等。

4. 请解释什么是时间复杂度和空间复杂度。

时间复杂度是描述算法运行时间与输入规模之间的增长关系,用大O表示。

空间复杂度是描述算法所需的额外存储空间与输入规模之间的增长关系。

5. 请简述常见的排序算法以及它们的时间复杂度。

常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等。

它们的时间复杂度分别是O(n^2)、O(n^2)、O(n^2)、O(nlogn)、O(nlogn)。

三、操作系统1. 请简述进程与线程的区别。

进程是一个具有独立功能的程序在一个数据集合上的一次运行过程,线程是进程的一个子任务,多个线程共享进程的资源。

2. 请简述进程间通信的方式。

进程间通信的方式包括管道、消息队列、共享内存、信号量、套接字等。

3. 请解释什么是死锁以及如何避免死锁。

死锁是指两个或多个进程在执行过程中,由于竞争资源而造成的一种互相等待的现象。

避免死锁的方法包括破坏死锁产生的条件、破坏死锁产生的环路、破坏死锁产生的互斥条件等。

计算机考研复试面试题库及答案

计算机考研复试面试题库及答案

计算机考研复试面试题库及答案一、专业基础知识1. 计算机组成原理题目:简述冯·诺伊曼体系结构的基本原理。

答案:冯·诺伊曼体系结构是一种计算机系统的设计原则,也是现代计算机的基础。

它的基本原理包括以下几点:- 存储程序:计算机通过将指令和数据存储在同一个存储器中,实现了程序的自动执行。

- 二进制系统:计算机使用二进制表示数据和指令,简化了计算机系统的设计和实现。

- 指令流水线:计算机通过将指令的执行过程划分为多个阶段,并同时进行不同指令的执行,提高了计算机的执行效率。

- 内存层次结构:计算机通过多层次的存储器结构,包括高速缓存、内存和外部存储器,提供了不同速度和容量的存储器选择。

2. 算法与数据结构题目:什么是二叉搜索树?如何实现插入和删除操作?答案:二叉搜索树(BST)是一种特殊的二叉树,满足以下条件:- 对于树中的每个节点,其左子树的所有节点的值小于该节点的值,右子树的所有节点的值大于该节点的值。

- 对于树中的每个节点,其左子树和右子树也是二叉搜索树。

实现插入操作的步骤:- 从根节点开始,将待插入的值与当前节点的值进行比较。

- 如果待插入的值小于当前节点的值,且当前节点的左子树为空,则将待插入的值作为当前节点的左子节点。

- 如果待插入的值大于当前节点的值,且当前节点的右子树为空,则将待插入的值作为当前节点的右子节点。

- 如果待插入的值小于当前节点的值,且当前节点的左子树不为空,则将当前节点更新为其左子节点,重复上述步骤。

- 如果待插入的值大于当前节点的值,且当前节点的右子树不为空,则将当前节点更新为其右子节点,重复上述步骤。

实现删除操作的步骤:- 如果待删除的节点为叶子节点,直接删除。

- 如果待删除的节点只有一个子节点,将子节点连接至待删除节点的父节点。

- 如果待删除的节点有左右子节点,找到其右子树中的最小节点,用该节点替换待删除节点,并删除最小节点。

二、算法设计与分析1. 动态规划题目:请简述动态规划算法的基本思想,并给出一个应用动态规划算法的例子。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华中科技大学复试机试题目
2008年
一.
1、狼过河问题(运用到回溯)
2、统计文件中单词数目
3、N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。

(递归)
4、链表操作
二.
第一个是一个上楼梯的种数的统计,本来是一个用递归可以解决的问题,但是题目偏偏要求编写快速算法,言下之意就是要求你把递归转化成非递归。

第二个题是链表的,要求依照给出的结构体依次实现输入链表,保存链表,删除链表,从磁盘读取链表,显示链表这几个操作。

做这个题,如果不记得保存文件的函数,很可能做不全或者做不出来。

第三个是要求根据- | \ / 四个字符来实现题目所规定的一个长方体。

并能使这个长方体适当的放大。

这个是一个递归问题,但是我想了半天也没有做出来。

2006
1.输入一个数列以0位结束标志,建立链式线性表,查找其中最大的数并输出删除释放节点,然后对剩余的进行排序,并输出释放节点s
2.输入一个数列以0位结束标志,建立二叉遍历数,并对其进行逆中序遍历,释放空间
第一题是对输入的5个数排序,输出的结果到文件里。

第二题是用链表去对上面的5个数字排序。

第三题是输入一个ip地址串,判断是否合法。

2005
第一题:对给定的一个字符串,找出有重复的字符,并给出其位置,如:
输入:abcaaAB12ab12
输出:a,1;a,4;a,5;a,10
b,2;b,11
1,8;1,12
2,9;2,13
第二题:输入一个四行五列的矩阵,找出每列最大的两个数,如:
输入:1 2 3 4 9
-1 4 9 8 8
12 9 8 7 0
7 8 9 7 0
输出:12 9 9 8 9
7 8 9 7 8
第三题:输入一个字符串,建立一个二叉排序树,并中序遍历输出;
其它年份题目
1.给出年分m和一年中的第n天,算出第n天是几月几号(提示中给出了判断闰年的方法),
按yyyy-mm-dd的格式打印出来
2.职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来,n 可以取6
3.n个人排一圈123报数,报到3的人退到圈外,直到剩最后一个人为止
4.冒泡排序。

5.建立二叉树,并中序遍历。

6.生成一个长度为21的数组,依次存入1到21;建立一个长度为21的单向链表,将上述数组中的数字依次存入链表每个结点中;将上述链表变为单向封闭(循环)链表;从头结点开始数,将第17个结点删除,将它的下一个结点作为新的头结点;重复上述过程,直到该链表中只剩一个结点,显示该结点中存入的数字。

08年的华科招收外校保送生上机试题:
(1)输入一个十进制数,将其先转化为八进制数,然后再输出
(2)用户输入一个文本名,编程实现输出文本中最长的一行和最短的一行。

如果最长和最短的不止一行,请全部输出。

(3)输入学生信息:学号,三门课程的成绩,学号为0时结束,将其存储在链表A中,从中找出分数大于平均分的学生,并将该学生信息按平均分降序排列存入到链表B中,最后输出链表B。

08年的华科本校生保送上机试题:
(1)采用命令行方式复制任意多个文件内容到一个文件中,如下所示:
命令行形式:mycopy 1.txt 2.txt 3.txt 4.txt ...
功能:复制2.txt 3.txt 4.txt …的内容到1.txt中
(2)判定一个C语言变量的命名是否正确
(3)建立一种数据结构,可以存储任意个、任意长度的整数,利用这个数据结构,输入一串数,排序,求累加和
2001年保研复试题目
1.统计一字符串字符重复的个数;
例如:输入q3s4sa1aa
输出s,3; s,5
a,6; a,8; a,9
2,输入一个5行4列的的矩阵,输出每列最大两个元素
3.建立一个链表,以输入0为结束,删除其中数值最大的元素,并输出后删除元素后的链表(不能用数组)
2000年
1. 输入n,
求y1=1!+3!+...m!(m是小于等于n的最大奇数)
y2=2!+4!+...p!(p是小于等于n的最大偶数)
2。

输入一个5×5的矩阵,判断是否对称
3。

建立一个升序链表并遍历
2002年
1、编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。

(凡是以一个或多个空格隔开的部分就为一个单词)
2、守形数是这样一种整数,它的平方的低位部分等于它本身。

比如25的平方是625,低位部分是25,因此25是一个守形数。

编一个程序,找出2--100之间所有的守形数。

3、编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。

例如如下的先序遍历字符串:
ABC##DE#G##F###
其中“#”表示的是空格,空格字符代表空树。

建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

屏幕的格式化输出:给出一幅图形,用程序实现。

如下所示。

AA AA
AB BA AB BA
ABC CBA AA
AB BA (输入字符B)
AA
(输入字符C)
指针构建链表结构:输入一组数据,构建一个升序链表,完成插入,删除,遍历功能。

例如,输入 1 8 5 4 3;
构建head->1->3->4->5->8->NULL;
遍历 1 3 4 5 8;
插入 6 遍历 1 3 4 5 6 8
删除 5 遍历 1 3 4 5 8
1。

求N的阶乘,其中0<=N<=1000 (35分)
2。

求最长的子序列和。

比如1+3-2,结果是4;
1+3-2+5,结果是7;
-1-2-3,结果是-1.
另外要求运行时间不超过1s,就是要求算法的复杂度要好(25分)
3。

已知二叉树的前序和中序序列,要求写出后序序列。

(40分)
如果给的前序和中序序列是错误的,就要输出"NO ANSWER!"
//1 生成一个长度为21的数组,依次存入1到21
//2 建立一个长度为21的单向链表,将上述数组中的数字依次存入链表每个结点中
//3 将上述链表变为单向封闭(循环)链表
//4 从头结点开始数,将第17个结点删除,将它的下一个结点作为新的头结点
//5 重复上述过程,直到该链表中只剩一个结点,显示该结点中存入的数字。

相关文档
最新文档