北京理工大学计算机专业研究生复试上机试题.docx

上传人:b****1 文档编号:1183506 上传时间:2022-10-18 格式:DOCX 页数:64 大小:32.74KB
下载 相关 举报
北京理工大学计算机专业研究生复试上机试题.docx_第1页
第1页 / 共64页
北京理工大学计算机专业研究生复试上机试题.docx_第2页
第2页 / 共64页
北京理工大学计算机专业研究生复试上机试题.docx_第3页
第3页 / 共64页
北京理工大学计算机专业研究生复试上机试题.docx_第4页
第4页 / 共64页
北京理工大学计算机专业研究生复试上机试题.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

北京理工大学计算机专业研究生复试上机试题.docx

《北京理工大学计算机专业研究生复试上机试题.docx》由会员分享,可在线阅读,更多相关《北京理工大学计算机专业研究生复试上机试题.docx(64页珍藏版)》请在冰豆网上搜索。

北京理工大学计算机专业研究生复试上机试题.docx

北京理工大学计算机专业研究生复试上机试题

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

 

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

2000年:

1、输入任意4个字符(如:

abcd),并按反序输出(如:

dcba)

#include

#include

usingnamespacestd;

voidmain()

{

strings;

cin>>s;

for(inti=3;i>=0;i--)

cout<

cout<

}

2、设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:

abc+bcc=532。

求满足条件的所有a、b、c的值。

#include

usingnamespacestd;

voidmain()

{

inta,b,c;

//ints;

for(inti=100;i<1000;i++)

{

a=i/100;

b=i/10-a*10;

c=i%10;

//cout<

//cout<

if((i+b*100+c*10+c)==532)

{

cout<

cout<

}

}

}

3、一个数如果恰好等于它的各因子(该数本身除外)子和,如:

6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。

求出2到60之间所有“完数”和“盈数”,并以如下形式输出:

E:

e1e2e3......(ei为完数)G:

g1g2g3......(gi为盈数)

#include

usingnamespacestd;

voidmain()

{

cout<<"E:

";

for(inti=2;i<=60;i++)

{

ints=0;

for(intj=1;j

{

if(i%j==0)

{

//s=0;

s+=j;

}

}

if(s==i)

{

cout<

}

}

cout<

cout<<"G:

";

for(intk=2;k<=60;k++)

{

ints=0;

for(intj=1;j

{

if(k%j==0)

{

s+=j;

}

}

if(s>k)

{

cout<

}

}

cout<

}

4、从键盘输入4个学生的数据(包括姓名、年龄和成绩),并存放在文件sf1上。

从该文件读出这些数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。

#include

#include

#include

usingnamespacestd;

structstudent

{

stringname;

intage;

intscore;

};

voidmain()

{

studentst[4];

students;

studentt;

inti=0;

ofstreamout("sf1.txt");

cout<<"请输入4个学生的姓名,年龄,成绩:

"<

for(i=0;i<4;i++)

{

cin>>s.name>>s.age>>s.score;

out<

}

ifstreamin("sf1.txt");

cout<<"name"<<"age"<<"score"<

for(i=0;i<4;i++)

{

in>>st[i].name>>st[i].age>>st[i].score;

cout<

}

for(i=0;i<4;i++)

for(intj=i+1;j<4;j++)

if(st[i].score

{

t=st[i];

st[i]=st[j];

st[j]=t;

}

cout<<"name"<<"age"<<"score"<

for(i=0;i<4;i++)

cout<

}

2001年

(1):

1、编写程序,计算下列分段函数y=f(x)的值。

y=-x+2.50<=x<2y=2-1.5(x-3)(x-3)2<=x<4y=x/2-1.54<=x<6

#include

usingnamespacestd;

voidmain()

{

intx;

cout<<"请输入x(0-6):

";

cin>>x;

if(x<0&&x>=6)

cout<<"输入有误!

";

if(x>=0&&x<2)

cout<<"y="<<(-x+2.5)<

elseif(x>=2&&x<4)

cout<<"y="<<2-1.5*(x-3)*(x-3)<

elseif(x>=4&&x<6)

cout<<"y="<

}

2、编写程序,读入一个整数N。

若N为非负数,则计算N到2N之间的整数和;若N为一个负数,则求2N到N之间的整数和。

#include

#include

usingnamespacestd;

voidmain()

{

intN;

cout<<"请输入一个整数:

";

cin>>N;

cout<<((N+2*N)*(abs(N)+1))/2<

}

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

1234的反序数是4321),求N的值。

#include

usingnamespacestd;

voidmain()

{

for(inti=1000;i<=9999;i++)

{

inta,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)

cout<

}

}

4、N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报3者退出圈外,其余的人再从1、2、3开始报数,报3的人再退出圈外,依次类推。

请按退出顺序输出每个退出人的原序号。

要求使用环行链表编程。

#include

#include

usingnamespacestd;

typedefstructnode

{

intnum;

structnode*next;

}LNode;

voidmain()

{

LNode*head,*p,*q;

intN;

cout<<"输入人数:

";

cin>>N;

p=(LNode*)(malloc(sizeof(LNode)));

p->num=1;

head=p;

for(inti=1;i

{

p->next=(LNode*)(malloc(sizeof(LNode)));

p=p->next;

p->num=i+1;

}

p->next=head;

p=head;

cout<<"输出序列为:

"<

while(p->next!

=p)

{

q=p->next;

p=q->next;

q->next=p->next;

cout<num<<"";

deletep;

p=q->next;

}

cout<num<

deletep;

}

2001年

(2)

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

****

******

********

**********

#include

usingnamespacestd;

voidmain()

{

inth;

cout<<"请输入h:

";

cin>>h;

for(inti=0;i

{

for(intj=0;j

cout<<"";

for(intk=0;k

cout<<"*";

cout<

}

}

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

#include

usingnamespacestd;

voidmain()

{

intn;

intsum=1;

//intt=0;

cout<<"请输入n(1-20):

";

cin>>n;

for(inti=1;i<=n;i++)

{

sum=sum*i;

}

cout<

}

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

#include

#include

#include

usingnamespacestd;

voidmain()

{

strings;

cout<<"Enterstring:

";

cin>>s;

sort(s.begin(),s.end());

cout<

}

2002年(A)

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

#include

usingnamespacestd;

voidmain()

{

intsum=0;

for(inti=0;i<=5;i++)

for(intj=0;j<=4;j++)

for(intk=0;k<=6;k++)

{sum++;

cout<<0.8*i+j+1.8*k<<"";

}

cout<

cout<

}

2、输入n值,使用递归函数,求杨辉三角形中各个位置上的值,按照如下形式打印输出图形。

例如:

当n=6时。

11112113311464115101051

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

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

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