北京理工大学计算机专业研究生复试上机试题(2000-2011)


 计算机专业研究生复试上机试题

2000年:

1、  输入任意4个字符(如:abcd),并按反序输出(如:dcba)

2、  设a、b、c均是 0 到 9 之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。

 

3、  一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。求出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数)

 

4、  从键盘输入4个学生的数据(包括姓名、年龄和成绩),并存放在文件sf1上。从该文件读出这些数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。

2001年(1):

1、  1、编写程序,计算下列分段函数y=f(x)的值。 y= -x+2.5 0<= x <2y=2-1.5(x-3)(x-3) 2<= x <4 y=x/2-1.5 4<= x <6

2、编写程序,读入一个整数 N。若 N 为非负数,则计算 N 到 2N 之间的整数和;若 N 为一个负数,则求 2N 到 N 之间的整数和。

3、 设N是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是4321),求N的值。

 

4、 N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报3者退出圈外,其余的人再从1、2、3开始报数,报3的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。

 

       

2001年 (2)

1、  请输入高度h,输入一个高为h,上底边长为h的等腰梯形(例如h=4,图形如下)。

    ****

  ******

 ********

**********

 

 

2、  请编写一个程序,从键盘上输入n(n的范围是1~20),求n的阶乘。

 

3、  从键盘上任意输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果。

 

2002年 (A)

1、  某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?

 

                     

2、  输入n值,使用递归函数,求杨辉三角形中各个位置上的值,按照如下形式打印输出图形。例如:当n=6时。 1 1 1 1 2 11 3 3 1 1 4 6 4 1 1 5 10 10 5 1

 

2002年 (B)

1、  打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121。

 

2、  编写一个求菲波那奇数列的递归函数,输入n值,使用该递归函数,输出如下图形。例如:当n=6时。 0 0 1 1 0 1 1 2 3 0 1 1 2 3 5 8 01 1 2 3 5 8 13 21 0 1 1 2 3 5 8 13 21 34 55

 

2003年

1、  输入球的中心点和球上某一点的坐标,计算球的半径和体积。

 

2、  手工建立一个文件,文件种每行包括学号、姓名、性别和年龄。每一个属性使用空格分开。文件如下: 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 根据输入的学号,查找文件,输出学生的信息。

 

 

3、输入年月日,计算该填是本年的第几天。例如1990年9月20日是1990年的第263天,2000年5月1日是2000年第122天。(闰年:能被400正除,或能被4整除但不能被100整除。每年1、3、5、7、8、10为大月)

 

                    

2004年

第一题是建立一个角类,在这个类中重载减号运算符,并实现求出角度的正弦值的函数。

 

第二题是建立一个求一元二次方程解的类(a*x^2+b*x+c=0),输入系数a,b,c的值后打印出这个方程的解来,也比较简单。需要注意的是系数a不能为零以及方程有无解,单解还是双解的情况。

 

 第三道题是实现一个多项式的类(a+b*x+c*x^2+d*x^3+...+),要求输入该多项式的系数和x的值后打印出这个多项式的值。

2005年:

第一题是给定一个程序,关于字符串的,要求输入并调试,说出此程序的意图。意图是按字母顺序对两个字符串比较排序。第二问要求用尽可能少的语句对该程序进行修改,使其能够对两个字符串比较长度排序。本题满分20。

 

第二题是要求编写一个日期类,要求按xxxx-xx-xx的格式输出日期,实现加一天的操作,不考虑闰年问题,所有月份设为30天。本题黑盒测试时,输入2004年3月20日,得到加一天后时间为2004-3-21,能得一部分分数。输入2004年3月30日,得到加一天后时间为2004-4-1,能得一部分分数。输入2004年12月30日,得到加一天后时间为2005-1-1,且有时间越界处理,能得全部分数。本题满分30。

 

第三题要求编写一个复数类,要求有4条。一是有构造函数,能对复数初始化。二是对复数c1,c2,c3.....能实现连加运算,令c=c1+c2+c3+.....此处可以重载加法操作符。三是有函数实现两个复数相加,并按照a+ib的形式输出。四是能实现对一个复数c=a+ib,定义double x=c有效,使x的值为实部和虚部之和。本题满分50。”

 

2006年

1.写一个程序判断字符串中数字的位置(不限制使用面向对象编程)

 

2.写一个类,能接受int型的变量,接收变量后能存储原变量(譬如12345)和其反向变量(54321),最多处理数量为10个,当输入达到10个或者输入变量为0的时候停止。并且在类销毁前输出存储的所有变量。

例如: 输入:12345,2234,0

           输出:12345   54321

                   2234  4322

 

3.写一个CTriangle类,要求可以接受 CTriangle(y,x)形式的构造,创建在坐标系中的直角三角形样子如下

A   

   |\

   |   \

   |      \

   |        \

B ----------C

三点的坐标分别是A(0,y)B(0,0) C(x,0)

实现+运算,并且能够处理键盘连续输入若干个(少于十个)三角形,并且连加(相加时候三角形边长长度相加,方向同第一个三角形)。输入0后结束并输出最后得出的三角形的三个坐标值。

例如:

     输入: 1    2

                -1   -5

     输出: A(0,7),B(0,0),C(2,0)

 

2007年:

1。一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,

比如第一次弹起高度为H/2,如此往复,计算从小球H高度下落到第n次弹地

往返的总路程。

要求:1。用递归的方法实现

     2。输入H和n,输出结果

     3。注意程序的健壮性

     4。可以用C或C++实现

2。创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,

运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要

加入自己的成员变量或成员函数

要求:1。输入两个点的坐标,输出两个点之间的距离

     2。重载运算符为“-”

 

3。创建一个CTriangle类,需要用到第二题中创建的类,即用3点来代表一个三角形,

输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。

可以根据需要加入自己的成员变量或成员函数

要求:1。输入三个点的坐标,输出周长并给出是否直角三角形的信息

     2。注意程序的健壮性

 

4、  请自定义一个Student类,属性包括:Char name[10],int num。编程实现学生信息的输入、查询、浏览,其中浏览分为:升序和降序两种。

 

2008年:

1、  存储一组姓名,如 Apple,Tom,Green,Jack 要求能排序、按字母顺序插入、并显示。

 

2、  输入文件名及路径创建该文件,并把从键盘输入的内容保存到该文件,最后将该文件的路径、该文件名及文件中的内容输出到屏幕。

 

3、  设计捕获两种不同类型的异常,一个是被0 除,另一个是数组越界。

 

 

4、设计一个程序能计算日期的间隔,如输入两个日期别为2008-2-3 和 2008-3-9 计算相隔多少天,或2008-2-3 加上100天后的日期是多少。

 

2009年

1 请输入字符串,最多输入4个字符串,要求后输入的字符串排在前面,例如

输入:EricZ

输出:1=EricZ

输入:David

输出:1=David2=EricZ

输入:Peter

输出:1=Peter2=David 3=EricZ

输入:Alan

输出:1=Alan2=Peter 3=David 4=EricZ

输入:Jane

输出:1=Jane2=Alan 3=Peter 4=David

 

 

2.把上述最后结果保存到Name.txt中 

其中

 

3. 先输入一组数,然后输入其分组,按照分组统计出现次数并输出

例如,输入数据3,2,3,8,8,2,3

    输入对应分组1,2,3,2,1,3,1

输出:

1={2=0,3=2,8=1}

2={2=1,3=0,8=1}

3={2=1,3=1,8=0}

即每组中各数据出现的次数

 

3. 先输入一组数,然后输入其分组,按照分组统计出现次数并输出

例如,输入数据3,2,3,8,8,2,3

    输入对应分组1,2,3,2,1,3,1

输出:

1={2=0,3=2,8=1}

2={2=1,3=0,8=1}

3={2=1,3=1,8=0}

即每组中各数据出现的次数

 

 

4. 输入一个英文句子,把句子中的单词按出现次数按从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗号,即是说暂不要求识别其他符号

 

 

 

2010年:

第一题:输入一串整数,输入命令排序!

输入a t   在这串整数后面添加整数t,

输入c\m\n 有n替换m,

输入d t 删除t,

输入 s  排序,

 

第二题:输入表达式,输出值!

很多数据结构教材上都有的!

 

 

2011年:

1、  输入一组单词(区分大小写),统计首字母相同的单词个数,相同的单词不累加,输出格式“字母,以该字母为首的单词个数”

2、  输入一组单词(区分大小写),输出这些单词的字典排序

3、  给一个字符串(aaaa(bbb(cccc,dddd),eeee(ffff))),该字符串表示的是各个人的层次关系,如aaaa是bbb和eeeee的领导,bbb是cccc和dddd的领导,等等。现在要去你输入一个名称如ffff要求你输出其领导关系,那么就应输出aaaa>eeee>ffff

 

你可能感兴趣的:(程序人生)