北理2000年计算机复试真题及解析_第1页
北理2000年计算机复试真题及解析_第2页
北理2000年计算机复试真题及解析_第3页
北理2000年计算机复试真题及解析_第4页
北理2000年计算机复试真题及解析_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

输入任意4个字符(如:abcd),并按反序输出(如voidmain(){chars[5],t[5];inti;}有:abc+bcc=532。求满足条件的所有a、b、c的值。说明:本题结果唯一void{inta,b,c;cout<<"满足条件的 为 }一个数如果恰好等于它的各因子(该数本身除外)子和,如:632+1“完数盈数。求出2到60之间所有完数和“盈数”,并以如下形式输出:E:e1e2e3......(ei为完数)G:g1g2 (gi为盈数voidsave(ints[],intx,intflag);intfun(intx);void{intint{elseif(flag==1)}cout<<E<<"";cout<<G<<"";}voidsave(ints[],intx,int{static{}{

}}}}intfun(int{intreturn0;elseif(sum>x)return}

return-从键盘输入4个学生的数据(包括、和成绩),并存放在文件sf1上。从该文件读出这些数据,按成绩从高到底排序,并输出其1、编写程序,计算下列分段函数y=f(x)的值。y=-x+2.50<=xy=2-1.5(x-3)(x-3)2<=x<4y=x/2-1.54<=xfloatfun(float{floaty;elseelsereturny;void{floatcout<<"x的值:";{}}2、编写程序,读入一个整数NN为非负数,则计算N2N之间的整数和N为一个负2NN之间的整数和。void{int}3、设N是一个四位数9倍恰好是其反序数(例如:1234的反序数是4321,求N的值。说明:本题结果唯4、N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,3者退出圈外,其余的人再从1、2、3开始报3的人再退出}}行链表编程。说明:typedefstruct{intstructnodevoid{intLNode{}{cout<<p->num<<"";deletep;deletep;}20011、请输入高度h,输入一个高为h,上底边长为h的等腰梯形(例h=4,图形如下void{intcout<<"请输入h:";{}}2、请编写一个程序,从键盘上n(n的范围是1~20,求n的intfun(intn);void{intcout<<"请输入n:";{}}intfun(int{intreturnresult;}3从键盘上任意输入一个长度不超过20的字符串对所输入的字符按照ASCII码的大小从小到大进行排序请输出排序后的结usingnamespacestd;voidmain(){charstr[21];inti,j,len;charch;{}}2002、、说明题真的找不到好的算法有好算法的朋友发站短给我多void{int}2、输入n值,使用递归函数,求三角形中各个位置上的值,按照如下形式打印输出图形。例如:当 时111210105intfun(intn,int{return}

void{intcout<<"请输入n:";{cout<<fun(i,j)<<"";}}20021、打印所有不超过n(n<256)的,其平方具有对称性质的数。11*11=121boolfun(int{intx,i,t;charstr[10];{}}

returntrue;returnfalse;void{intcout<<"请输入n:";cout<<i<<"}2、编写一个求菲波那奇数列的递归函数,输入n值,使用该递归函数,输出如下图形。例如:当n=6时。 010112011235011235

132134intfun(int{return0;elseif(n==1)return}

void{intint*p=newcout<<"请输入n:";p[i]=fun(i);{cout<<p[j]<<"";}}20031、输入球的中心点和球上某一点的坐标,计算球的半径和体void{doubleintx1,x2,y1,y2,z1,z2;constdoublePI=3.1416;}2、手工建立一个文件,文件种每行包括学号、、和。每一个属性使用空格分开。文件如下:01男21022303男1904女19根据输入的学号,查找文件,出学生的信息usingnamespacestd;void{constintchars[LEN],k[LEN],*temp;intnum;ifstream{temp=strtok(k,"");{}}} 年月 年的第263天,2000年5月1日是2000年第122天(年:能被400正除,或能被4整除但不能被100整除。每年1、35、7、8、10为大月void{intconstintcout<<year<<""<<month<<""<<day<<"日是"<<year<<"}2004度的正弦值的函数。constdoublePI=3.1416;classangle{angle(){}angle(intx){X=x;}angleoperator-(anglec);voidxsin();intvoid{doublex;}angleangle:perator-(angle{}void{anglec1(90),c2(60),c3;}第二题是建立一个求一元二次方程解的(a*x^2+b*x+c=0系数a,b,c的值后打印出这个方程的解来,也比较简单。需要注意的是系数a不能为零以及方程有无解,单解还是双解的情况。class{equation(floata,floatb,floatc):a(a),b(b),c(c){}floatD(){returnb*b-4*a*c;}voidfun();floatvoid{floatelseif(d>0)<<"}void{floatcout<<"请输入(abc):";{cout<<",请重新输入(abc):";}equatione(a,b,c);}(ab*xc*x2d*x3+...+x(实际上就是递归。floatfun(floats[],floatx,intn,int{return}

void{intfloatcin>>num[icout<<"x:";}2005排序。本题满分20。第二题是要求编写一个日期类,要求按xxxx-xx-xx的格式输出日期,实现加一天的操作,不考虑闰年问题,所有月份设为30天。本题黑盒测试时,输入2004320日,得到加一天后时间为2004-21,能得一部分分数。输入2004年3月30日,得到加一天后时2004-4-1,能得一部分分数。输入20041230日,得到加一天后时间为2005-1-1,且有时间越界处理,能得全部分数。本题满分class{date(inty,intm,intd):year(y),month(m),day(d){}voiddisy();voidaddDay();intyear;intmonth;intday;voiddate::dis{}void{{{}}}void{intcout<<"请输入(年月日:";{:";}date}第三题要求编写一个复数类,要求有4条。一是有构造函数,能对复数初始化。二是对复数c1,c2, 能实现连加运算, 此处可以重载加法操作符有函数实现两个数相加,并按照a+ib的形式输出。四是能实现对一个复数定义doublex=cx的值为实部和虚部之和。本题满分50。usingnamespacestd;classcomplex{complex(doubler=0.0,doublei=0.0){real=r;imag=i;}complexoperator+(complexc2);voiddisoperatordouble {return}doublereal;doubleimag;complexcomplex::operator+(complex{return}voidcomplex::dis{}void{complexdoublex=c4;}2006写一个程序判断字符串中数字的位置(不限制使用面向对象编程)例如:输入3b4c5输出24usingnamespacestd;void{stringstr;inti;for(i=0;str[i]!='\0';i++)if(isdigit(str[i}写一个类,能接受int型的变量,接收变量后能原变量(譬12345)和其反向变量(54321),最多处理数量为10个,当输入达10个或者输入变量为0的时候停止。并且在类销毁前输出的所例如输出 2234class{voidinverse();intintinverseNum[10];intcountNum;{int{num[i]=t;}}void{charstr[10];intt,i,j,x;{{ //48}}}{int}void{CInversec1;}三点的坐标分别是A(0,yB(0,0实现(少于十个并且连加(相加时候三角形边长长度相加,方向同第一个三角形。输入0后结束并输出最后得出的三角形的三个坐标值class{CTriangle(inty=0,intx=0){Ay=y;Cx=x;}CTriangleoperator+(CTrianglec2);voidset(inty=0,intx=0){Ay=y;Cx=x;}voiddisy();intAy;int{return}{cout<<"A(0,"<<Ay<<")B(0,0)}void{int{c[i].set(y,x); //0}20071。一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落比如第一次弹起高度为H/2,如此往复,计算从小球H高度下落到n次弹往返的总路程要求:1。用递归的方法2。输入Hn,输出结3。注意程序的健壮4。可以用CC++实floatfun(int{return}

void{floatH;intn;cout小球从"<<H高度下落到第"<<n次弹地往返的总路程为:}2。创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数运算符重载为类重载(非友元重载,可以实现计算两个点之间的距离。可以根据需要加入自己的成员变量或成员要求:1。输入两个点的坐标,输出两个点之间的距2。重载运算符为“-class{CPoint(intx=0,inty=0){X=x;Y=y;}floatoperator-(CPointc2);intX;intfloatCPoint::operator-(CPoint{}#includevoid{intCPointc1(x1,y1),c2(x2,y2);}3。创建一个CTriangle类,需要用到第二题中创建的类,即用3点来三角形的周长。可以根据需要加入自己的成员变量或成员函要求:1。输入三个点的坐标,输出周长并给出是否直角三角形的信息2。注意程序的健壮class{CPoint(intx=0,inty=0){X=x;Y=y;}floatoperator-(CPointc2);intX;intclass{{}voiddisy();boolfun();CPointA,B,C;floatAB,BC,AC;floa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论