ImageVerifierCode 换一换
格式:DOCX , 页数:96 ,大小:37.90KB ,
资源ID:20187765      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20187765.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北京理工大学计算机复试上机题0012.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北京理工大学计算机复试上机题0012.docx

1、北京理工大学计算机复试上机题0012北京理工大学计算机专业研究生复试上机试题(2000-2010)计算机专业研究生复试上机试题2000年: 1、 输入任意4个字符(如:abcd),并按反序输出(如:dcba) #include#includeusing namespace std;void main() string s; cins; for(int i=3;i=0;i-) coutsi; coutendl;2、 设a、b、c均是 0 到 9 之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。#includeusing namespace s

2、td;void main() int a,b,c; /int s; for(int i=100;i1000;i+) a=i/100; b=i/10-a*10; c=i%10; /couti ; /couta*100+b*10+c; if(i+b*100+c*10+c)=532) couta b c; coutendl; 3、 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。求出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 .(ei为完数) G: g1 g2 g3 .(gi为盈数)#i

3、ncludeusing namespace std;void main() coutE:; for(int i=2;i=60;i+) int s=0; for(int j=1;ji;j+) if(i%j=0) /s=0; s+=j; if(s=i) couti ; coutendl; coutG:; for(int k=2;k=60;k+) int s=0; for(int j=1;jk) coutk ; coutendl;4、 从键盘输入4个学生的数据(包括姓名、年龄和成绩),并存放在文件sf1上。从该文件读出这些数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。 #include#

4、include#includeusing namespace std;struct student string name; int age; int score;void main() student st4; student s; student t; int i=0; ofstream out(sf1.txt); cout请输入4个学生的姓名,年龄,成绩:endl; for(i=0;is.names.ages.score; outs.name s.age s.scoreendl; ifstream in(sf1.txt); coutname age score endl; for(i=0

5、;isti.namesti.agesti.score; coutsti.name sti.age sti.scoreendl; for(i=0;i4;i+) for(int j=i+1;j4;j+) if(sti.scorestj.score) t=sti; sti=stj; stj=t; coutname age score endl; for(i=0;i4;i+) coutsti.name sti.age sti.scoreendl;2001年(1):1、 编写程序,计算下列分段函数y=f(x)的值。 y= -x+2.5 0= x 2 y=2-1.5(x-3)(x-3) 2= x 4 y=

6、x/2-1.5 4= x 6 #includeusing namespace std;void main() int x; coutx; if(x=6) cout=0 & x2) couty=(-x+2.5)=2 & x4) couty=2-1.5*(x-3)*(x-3)=4 & x6) couty=x/2-1.5endl;2、 编写程序,读入一个整数 N。若 N 为非负数,则计算 N 到 2N 之间的整数和;若 N 为一个负数,则求 2N 到 N 之间的整数和。#include#includeusing namespace std;void main() int N; coutN; cout

7、(N+2*N)*(abs(N)+1)/2endl;3、 设N是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是4321),求N的值。 #includeusing namespace std;void main() for(int i=1000;i=9999;i+) int a,b,c,d; a=i/1000; b=i/100-a*10; c=(i/10)%10; d=i%10; if(9*i=d*1000+c*100+b*10+a) coutiendl; 4、 N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报3者退出圈外,其余的人再从1、2、3开始报数,报3的人再退出

8、圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。 #include#includeusing namespace std;typedef struct node int num; struct node *next;LNode;void main() LNode *head,*p,*q; int N; coutN; p=(LNode*)(malloc(sizeof(LNode); p-num=1; head=p; for(int i=1;inext=(LNode*)(malloc(sizeof(LNode); p=p-next; p-num=i+1; p-next=h

9、ead; p=head; cout输出序列为:next!=p) q=p-next; p=q-next; q-next=p-next; coutnumnext; coutnumendl; delete p; 2001年 (2) 1、 请输入高度h,输入一个高为h,上底边长为h的等腰梯形(例如h=4,图形如下)。 * * * * #includeusing namespace std;void main() int h; couth; for(int i=0;ih;i+) for(int j=0;jh-i-1;j+) cout ; for(int k=0;kh+2*i;k+) cout*; cou

10、tendl; 2、 请编写一个程序,从键盘上输入n(n的范围是120),求n的阶乘。 #includeusing namespace std;void main() int n; int sum=1; /int t=0; coutn; for(int i=1;i=n;i+) sum=sum*i; coutsumendl;3、 从键盘上任意输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果。 #include#include#includeusing namespace std;void main() string s; couts; s

11、ort(s.begin(),s.end(); coutsendl;2002年 (A) 1、 某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少中不同的邮资? #includeusing namespace std;void main() int sum=0; for(int i=0;i=5;i+) for(int j=0;j=4;j+) for(int k=0;k=6;k+) sum+; cout0.8*i+j+1.8*k ; coutendl; coutsumendl; 2、 输入n值,使用递归函数,求杨辉三角形中各个位置上的值,按照如下形式打印

12、输出图形。例如:当n=6时。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 #includeusing namespace std;int fun(int n,int k)/n为行,k为列 if(k=0 | n=k) return 1; else return fun(n-1,k-1)+fun(n-1,k);void main() int i,j,n; coutn; for(i=0;in;i+) for(int k=0;kn-i+1;k+) cout ; for(j=0;j=i;j+) coutfun(i,j) ; coutendl; 2002年 (B

13、) 1、 打印所有不超过n(n256)的,其平方具有对称性质的数。如11*11=121。 #include#include#includeusing namespace std;void main() int t,x; char s10 ; for(int i=1;i256;i+) int j=0; x=i*i; while(x) t=x%10; sj+=t+48; x/=10; sj=0; if(i*i=atoi(s) couti ; coutendl;2、 编写一个求菲波那奇数列的递归函数,输入n值,使用该递归函数,输出如下图形。例如:当n=6时。 0 0 1 1 0 1 1 2 3 0

14、1 1 2 3 5 8 0 1 1 2 3 5 8 13 21 0 1 1 2 3 5 8 13 21 34 55 #includeusing namespace std;int fun(int n) if(n=0) return 0; else if(n=1) return 1; else return fun(n-1)+fun(n-2);void main() int n; coutn; /cout ; for(int i=0;in;i+) for(int j=0;j(2*n-1)-(2*i+1);j+) cout ; for(int k=0;k2*i+1;k+) coutfun(k) ;

15、 coutendl; 2003年1、 输入球的中心点和球上某一点的坐标,计算球的半径和体积。 #include#includeusing namespace std;double const PI=3.14156;void main() int x1,x2,y1,y2,z1,z2; double r; coutx1y1z1; coutx2y2z2; r=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2); cout半径为:rendl; cout体积为:4*PI*r*r*r/3endl;2、 手工建立一个文件,文件种每行包括学号、姓名、性别和年

16、龄。每一个属性使用空格分开。文件如下: 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 根据输入的学号,查找文件,输出学生的信息。 #include#include#includeusing namespace std;struct student int num; string name; string sex; int age;void main() student t10; student st; string s; int NO; int n; ofstream out(student.txt); coutn; cout请输入学生信息:endl;

17、 for( int i=0;ist.numst.namest.sexst.age; outst.num st.name st.sex st.ageendl; coutNO; cout学号 姓名 性别 年龄 endl; ifstream in(student.txt); for(int j=0;jtj.numtj.nametj.sextj.age; if(tj.num=NO) couttj.num tj.name tj.sex tj.age; coutendl; 真确算法:#include#include#includeusing namespace std;int main() char st

18、r80; int st_no; ifstream file(student.txt); if(!file) couterror!; return 0; coutst_no; while(!file.eof() file.getline(str,80); if(st_no=atoi(str) cout学号 姓名 性别 年龄endl; coutstrendl; return 0;3、输入年月日,计算该填是本年的第几天。例如1990年9月20日是1990年的第263天,2000年5月1日是2000年第122天。(闰年:能被400正除,或能被4整除但不能被100整除。每年1、3、5、7、8、10为大月

19、)#includeusing namespace std;int month12=31,28,31,30,31,30,31,31,30,31,30,31;void main() int y,m,d; int sum=0; coutymd; for(int i=1;i2 & (y%400=0) | (y%4=0 & y%100!=0) sum=sum+1; sum=sum+d; couty年m月d日是y年的第sum天endl; 2004年第一题是建立一个角类,在这个类中重载减号运算符,并实现求出角度的正弦值的函数。#include#includeusing namespace std;doubl

20、e const PI=3.14159;class angle int X;public: void xsin(); angle(); angle(int x)X=x; angle operator- (angle c);angle angle:operator- (angle c) return angle(X-c.X);void angle:xsin() double x=X*PI/180; cout正弦值为:sin(x)endl;void main() angle a(30),b(60),d; a.xsin(); b.xsin(); d=b-a; d.xsin();第二题是建立一个求一元二

21、次方程解的类(a*x2+b*x+c=0),输入系数a,b,c的值后打印出这个方程的解来,也比较简单。需要注意的是系数a不能为零以及方程有无解,单解还是双解的情况。#include#includeusing namespace std;class Root int a,b,c;public: Root(int aa,int bb,int cc):a(aa),b(bb),c(cc) Root() void result(); /void print();void Root:result() if(a=0) couterror!; double delta=b*b-4*a*c; if(delta=0

22、) cout单根:x=-b/2*aendl; else if(delta0) cout无解!endl; else cout双跟:x1=-b/2*a+sqrt(delta)/2*a x2=-b/2*a-sqrt(delta)/2*aendl;void main() int aa,bb,cc; coutaabbcc; Root x(aa,bb,cc); /x.a=aa;x.b=bb;x.c=cc; x.result();第三道题是实现一个多项式的类(a+b*x+c*x2+d*x3+.+),要求输入该多项式的系数和x的值后打印出这个多项式的值。这道题本身并不难,但他要求用好的算法(实际上就是递归)。#includeusing namespace std;int const size=60;int fun(float num,int x,int n,int N) if(n=0) return numn; else return x*fun(num,x,n-1,N)+numN-n;void main() int n,x; float numsize; coutn; cout请输入各项系数:; for(int i=0;inumi; cout请输入

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1