北京理工大学计算机复试上机题0012Word格式文档下载.docx

上传人:b****1 文档编号:1035636 上传时间:2023-04-30 格式:DOCX 页数:96 大小:37.90KB
下载 相关 举报
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第1页
第1页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第2页
第2页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第3页
第3页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第4页
第4页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第5页
第5页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第6页
第6页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第7页
第7页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第8页
第8页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第9页
第9页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第10页
第10页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第11页
第11页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第12页
第12页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第13页
第13页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第14页
第14页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第15页
第15页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第16页
第16页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第17页
第17页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第18页
第18页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第19页
第19页 / 共96页
北京理工大学计算机复试上机题0012Word格式文档下载.docx_第20页
第20页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北京理工大学计算机复试上机题0012Word格式文档下载.docx

《北京理工大学计算机复试上机题0012Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《北京理工大学计算机复试上机题0012Word格式文档下载.docx(96页珍藏版)》请在冰点文库上搜索。

北京理工大学计算机复试上机题0012Word格式文档下载.docx

a*100+b*10+c;

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

{

cout<

a<

b<

c;

}

}

}

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

6=3+2+1,则称其为“完数”;

若因子之和大于该数,则称其为“盈数”。

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

E:

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

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

E:

for(inti=2;

=60;

ints=0;

for(intj=1;

j<

i;

j++)

if(i%j==0)

{

//s=0;

s+=j;

}

if(s==i)

G:

for(intk=2;

k<

k++)

k;

if(k%j==0)

if(s>

k)

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

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

fstream>

structstudent

stringname;

intage;

intscore;

};

studentst[4];

students;

studentt;

inti=0;

ofstreamout("

sf1.txt"

);

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

for(i=0;

4;

cin>

s.name>

s.age>

s.score;

out<

s.name<

s.age<

s.score<

ifstreamin("

name"

age"

score"

in>

st[i].name>

st[i].age>

st[i].score;

st[i].name<

st[i].age<

st[i].score<

for(intj=i+1;

if(st[i].score<

st[j].score)

t=st[i];

st[i]=st[j];

st[j]=t;

2001年

(1):

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

y=-x+2.50<

=x<

2y=2-1.5(x-3)(x-3)2<

4y=x/2-1.54<

6

intx;

请输入x(0-6):

x;

if(x<

0&

&

x>

=6)

输入有误!

if(x>

=0&

x<

2)

y="

(-x+2.5)<

elseif(x>

=2&

4)

2-1.5*(x-3)*(x-3)<

=4&

6)

x/2-1.5<

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

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

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

stdlib.h>

intN;

请输入一个整数:

N;

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

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

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

for(inti=1000;

=9999;

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)

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

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

要求使用环行链表编程。

malloc.h>

typedefstructnode

intnum;

structnode*next;

}LNode;

LNode*head,*p,*q;

输入人数:

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

p->

num=1;

head=p;

for(inti=1;

p->

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

p=p->

next;

num=i+1;

next=head;

p=head;

输出序列为:

while(p->

next!

=p)

q=p->

p=q->

q->

next=p->

p->

num<

deletep;

deletep;

2001年

(2)

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

****

******

********

**********

inth;

请输入h:

h;

for(inti=0;

for(intj=0;

h-i-1;

for(intk=0;

h+2*i;

*"

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

intn;

intsum=1;

//intt=0;

请输入n(1-20):

n;

=n;

sum=sum*i;

sum<

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

algorithm>

Enterstring:

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

s<

2002年(A)

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

intsum=0;

=5;

=4;

for(intk=0;

=6;

{sum++;

0.8*i+j+1.8*k<

cout<

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

例如:

当n=6时。

11112113311464115101051

intfun(intn,intk)//n为行,k为列

if(k==0||n==k)

return1;

else

returnfun(n-1,k-1)+fun(n-1,k);

inti,j,n;

请输入n:

n-i+1;

for(j=0;

=i;

fun(i,j)<

2002年(B)

1、打印所有不超过n(n<

256)的,其平方具有对称性质的数。

如11*11=121。

#include<

intt,x;

chars[10];

256;

intj=0;

x=i*i;

while(x)

t=x%10;

s[j++]=t+48;

x/=10;

s[j]='

\0'

if(i*i==atoi(s))

2、编写一个求菲波那奇数列的递归函数,输入n值,使用该递归函数,输出如下图形。

001101123011235801123581321011235813213455

intfun(intn)

if(n==0)

return0;

elseif(n==1)

else

returnfun(n-1)+fun(n-2);

//cout<

(2*n-1)-(2*i+1);

2*i+1;

fun(k)<

2003年

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

]

math.h>

doubleconstPI=3.14156;

intx1,x2,y1,y2,z1,z2;

doubler;

请输入中心点坐标:

x1>

y1>

z1;

请输入球上某一点的坐标:

x2>

y2>

z2;

r=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));

半径为:

r<

体积为:

4*PI*r*r*r/3<

2、手工建立一个文件,文件种每行包括学号、姓名、性别和年龄。

每一个属性使用空格分开。

文件如下:

01李江男2102刘唐男2303张军男1904王娜女19根据输入的学号,查找文件,输出学生的信息。

stringsex;

studentt[10];

studentst;

intNO;

student.txt"

请输入学生人数:

请输入学生信息:

for(inti=0;

st.num>

st.name>

st.sex>

st.age;

out<

st.num<

st.name<

st.sex<

st.age<

请输入您要查找学生的学号:

NO;

学号"

姓名"

性别"

年龄"

for(intj=0;

t[j].num>

t[j].name>

t[j].sex>

t[j].age;

if(t[j].num==NO)

t[j].num<

t[j].name<

t[j].sex<

真确算法:

intmain()

charstr[80];

intst_no;

ifstreamfile("

if(!

file)

error!

输入你要查找的学生的学号:

st_no;

while(!

file.eof())

file.getline(str,80);

if(st_no==atoi(str))

年龄"

str<

return0;

3、输入年月日,计算该填是本年的第几天。

例如1990年9月20日是1990年的第263天,2000年5月1日是2000年第122天。

(闰年:

能被400正除,或能被4整除但不能被100整除。

每年1、3、5、7、8、10为大月)

intmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};

inty,m,d;

输人年月日:

y>

m>

d;

m;

sum=sum+month[i-1];

if(m>

2&

(y%400==0)||(y%4==0&

y%100!

=0))

sum=sum+1;

sum=sum+d;

y<

年"

m<

月"

d<

日"

是"

年的第"

天"

2004年

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

doubleconstPI=3.14159;

classangle

intX;

public:

voidxsin();

angle(){};

angle(intx){X=x;

angleoperator-(anglec);

angleangle:

:

operator-(anglec)

returnangle(X-c.X);

voidangle:

xsin()

doublex=X*PI/180;

正弦值为:

sin(x)<

anglea(30),b(60),d;

a.xsin();

b.xsin();

d=b-a;

d.xsin();

第二题是建立一个求一元二次方程解的类(a*x^2+b*x+c=0),输入系数a,b,c的值后打印出这个方程的解来,也比较简单。

需要注意的是系数a不能为零以及方程有无解,单解还是双解的情况。

cmath>

classRoot

Root(intaa,intbb,intcc):

a(aa),b(bb),c(cc){}

Root(){}

voidresult();

//voidprint();

voidRoot:

result()

if(a==0)

doubledelta=b*b-4*a*c;

if(delta==0)

单根:

x="

-b/2*a<

elseif(delta<

0)

无解!

双跟:

x1="

-b/2*a+sqrt(delta)/2*a<

x2="

-b/2*a-sqrt(delta)/2*a<

intaa,bb,cc;

请输入系数:

aa>

bb>

cc;

Rootx(aa,bb,cc);

//x.a=aa;

x.b=bb;

x.c=cc;

x.result();

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

这道题本身并不难,但他要求用好的算法(实际上就是递归)。

intconstsize=60;

intfun(floatnum[],intx,intn,intN)

returnnum[n];

returnx*fun(num,x,n-1,N)+num[N-n];

intn,x;

floatnum[size];

请输入最高项次数:

请输入各项系数:

num[i];

请输入

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2