![北京理工大學(xué)復(fù)試與初試試題_第1頁(yè)](http://file4.renrendoc.com/view/c376088c3f3c877c7c51ff790f6e51b5/c376088c3f3c877c7c51ff790f6e51b51.gif)
![北京理工大學(xué)復(fù)試與初試試題_第2頁(yè)](http://file4.renrendoc.com/view/c376088c3f3c877c7c51ff790f6e51b5/c376088c3f3c877c7c51ff790f6e51b52.gif)
![北京理工大學(xué)復(fù)試與初試試題_第3頁(yè)](http://file4.renrendoc.com/view/c376088c3f3c877c7c51ff790f6e51b5/c376088c3f3c877c7c51ff790f6e51b53.gif)
![北京理工大學(xué)復(fù)試與初試試題_第4頁(yè)](http://file4.renrendoc.com/view/c376088c3f3c877c7c51ff790f6e51b5/c376088c3f3c877c7c51ff790f6e51b54.gif)
![北京理工大學(xué)復(fù)試與初試試題_第5頁(yè)](http://file4.renrendoc.com/view/c376088c3f3c877c7c51ff790f6e51b5/c376088c3f3c877c7c51ff790f6e51b55.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁(yè)眉頁(yè)腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請(qǐng)聯(lián)系刪除,謝謝!zhouheng1212發(fā)表于2010-1-1413:26:10|只看該|倒序?yàn)g覽cin>>s;t=s[3-i];t[4]='\0';cout<<"反序后結(jié)果為:"<<t<<endl;}2.設(shè)a、b、c均是0到9之間的數(shù)字,abc、bcc是兩個(gè)三位數(shù),且有:abc+bcc=532。求滿#include<iostream.h>voidmain(){inta,b,c;for(a=1;a<10;a++)for(b=1;b<10;b++)for(c=0;c<10;c++)if((a*100+b*10+c+b*100+c*10+c)==532)cout<<"滿足條件的a,b,c為:"<<a<<","<<b<<","<<c<<endl;cout<<"滿足條件的a,b,c為:3,2,1"<<endl;3.一個(gè)數(shù)如果恰好等于它的各因子(該數(shù)本身除外)子和,如:6=3+2+1,則稱其為“完數(shù)”;若因子之和大于該數(shù),則稱其為“盈數(shù)”。求出2到60之間所有“完數(shù)”和“盈數(shù)”,并以如下形式輸出:E:e1e2e3......(ei為完數(shù))G:g1g2g3......(gi為盈數(shù))#include<iostream.h>voidsave(ints[],intx,intflag);intfun(intx);voidmain(){intE[60],G[60];intflag,i;for(i=6;i<=60;i++){flag=fun(i);if(flag==0)save(E,i,0);elseif(flag==1)save(G,i,1);}cout<<"E:";for(i=0;E!=0;i++)cout<<E<<"";cout<<endl<<"G:";for(i=0;G!=0;i++)cout<<G<<"";cout<<endl;}voidsave(ints[],intx,intflag){statici=0,j=0;if(flag==0){s=x;s[i+1]=0;i++;}else{s[j]=x;s[j+1]=0;j++;}}intfun(intx){inti,sum=0;for(i=1;i<=x/2;i++)if(x%i==0)sum+=i;if(sum==x)return0;elseif(sum>x)return1;elsereturn-1;}4.從鍵盤輸入4個(gè)學(xué)生的數(shù)據(jù)(包括姓名、年齡和成績(jī)),并存放在文件sf1上。從該文件讀出這些數(shù)據(jù),按成績(jī)從高到底排序,并輸出其中成績(jī)次高者的所有數(shù)據(jù)。2001年A1、編寫(xiě)程序,計(jì)算下列分段函數(shù)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<iostream.h>floatfun(floatx){floaty;if(x>=0&&x<2)y=2.5-x;elseif(x>=2&&x<4)y=2-1.5*(x-3)*(x-3);elseif(x>=4&&x<6)y=x/2-1.5;returny;}voidmain(){floatx;cout<<"請(qǐng)輸入x的值:";cin>>x;while(x<0||x>6){cout<<"非法,請(qǐng)重新輸入:";cin>>x;}cout<<"結(jié)果為:"<<fun(x)<<endl;}2、編寫(xiě)程序,讀入一個(gè)整數(shù)N。若N為非負(fù)數(shù),則計(jì)算N到2N之間的整數(shù)和;若N為一個(gè)負(fù)數(shù),則求2N到N之間的整數(shù)和。說(shuō)明:用了下公式#include<iostream.h>#include<math.h>voidmain(){intN;cout<<"請(qǐng)輸入一個(gè)整數(shù):";cin>>N;cout<<N<<"到"<<2*N<<"之間的整數(shù)和為:"<<(abs(N)+1)*1.5*N<<endl;}3、設(shè)N是一個(gè)四位數(shù),它的9倍恰好是其反序數(shù)(例如:1234的反序數(shù)是4321),求N的值。說(shuō)明:本題結(jié)果唯一4、N個(gè)人圍成一圈順序編號(hào),從1號(hào)開(kāi)始按1、2、3順序報(bào)數(shù),報(bào)3者退出圈外,其余的人再?gòu)?、2、3開(kāi)始報(bào)數(shù),報(bào)3的人再退出圈外,依次類推。請(qǐng)按退出順序輸出每個(gè)退出人的原序號(hào)。要求使用環(huán)行鏈表編程。說(shuō)明:約瑟夫環(huán)#include<iostream.h>#include<malloc.h>typedefstructnode{intnum;structnode*next;}LNode;voidmain(){intN,i;LNode*head,*p,*q;cout<<"請(qǐng)輸入人數(shù):";cin>>N;p=(LNode*)(malloc(sizeof(LNode)));p->num=1;head=p;for(i=1;i<N;i++){p->next=(LNode*)(malloc(sizeof(LNode)));p=p->next;p->num=i+1;}p->next=head;p=head;cout<<"出列順序?yàn)椋?;while(p->next!=p){q=p->next;p=q->next;q->next=p->next;cout<<p->num<<"";deletep;p=q->next;}cout<<p->num<<endl;deletep;}2001年B1、請(qǐng)輸入高度h,輸入一個(gè)高為h,上底邊長(zhǎng)為h的等腰梯形(例如h=4,圖形如下)。****************************#include<iostream.h>voidmain(){inti,j,h;cout<<"請(qǐng)輸入h:";cin>>h;for(i=0;i<h;i++){}for(j=0;j<h+i;j++)cout<<"*";cout<<endl;}2、請(qǐng)編寫(xiě)一個(gè)程序,從鍵盤上輸入n(n的范圍是1~20),求n的階乘。#include<iostream.h>intfun(intn);voidmain(){intn;cout<<"請(qǐng)輸入n:";cin>>n;while(n>20||n<1){cout<<"非法,請(qǐng)重新輸入:";cin>>n;}cout<<"n的階乘為:"<<fun(n)<<endl;}intfun(intn){inti,result=1;for(i=1;i<=n;i++)result*=i;returnresult;}3、從鍵盤上任意輸入一個(gè)長(zhǎng)度不超過(guò)20的字符串,對(duì)所輸入的字符串,按照ASCII碼的大小從小到大進(jìn)行排序,請(qǐng)輸出排序后的結(jié)果。#include<iostream>#include<string>usingnamespacestd;voidmain(){charstr[21];inti,j,len;charch;cout<<"請(qǐng)輸入字符串:";cin.getline(str,20);len=strlen(str);for(i=0;i<len-1;i++)for(j=0;j<len-1-i;j++)if(str[j]>str[j+1]){ch=str[j];str[j]=str[j+1];str[j+1]=ch;}cout<<"排序后的字符串為:"<<str<<endl;}2002年A1、某人有8角的郵票5張,1元的郵票4張,1元8角的郵票6張,用這些郵票中的一張或若干張可以得到多少中不同的郵資?說(shuō)明:這道題真的找不到好的算法,希望有好算法的朋友發(fā)站短給我,多謝#include<iostream.h>voidmain(){inti,j,k;for(i=0;i<=5;i++)for(j=0;j<=4;j++)for(k=0;k<=6;k++)cout<<i*0.8+j+k*1.8<<"";}2、輸入n值,使用遞歸函數(shù),求楊輝三角形中各個(gè)位置上的值,按照如下形式打印輸出圖形。例如:當(dāng)n=6時(shí)。11112113311464115101051說(shuō)明:遞歸#include<iostream.h>intfun(intn,intk){if(k==0||n==k)return1;elsereturnfun(n-1,k-1)+fun(n-1,k);}voidmain(){intn,i,j;cout<<"請(qǐng)輸入n:";cin>>n;for(i=0;i<n;i++){for(j=0;j<=i;j++)cout<<fun(i,j)<<"";cout<<endl;}}2002年B1、打印所有不超過(guò)n(n<256)的,其平方具有對(duì)稱性質(zhì)的數(shù)。如11*11=121。#include<iostream.h>#include<stdlib.h>boolfun(intn){intx,i,t;charstr[10];x=n*n;i=0;while(x){t=x%10;str[i++]=t+48;x/=10;}str='\0';if(n*n==atoi(str))returntrue;elsereturnfalse;}voidmain(){intn,i;cout<<"請(qǐng)輸入n:";cin>>n;for(i=1;i<=n;i++)if(fun(i))cout<<i<<"";cout<<endl;}2、編寫(xiě)一個(gè)求菲波那奇數(shù)列的遞歸函數(shù),輸入n值,使用該遞歸函數(shù),輸出如下圖形。例如:當(dāng)n=6時(shí)。001101123011235801123581321011235813213455說(shuō)明:遞歸#include<iostream.h>intfun(intn){if(n==0)return0;elseif(n==1)return1;elsereturnfun(n-2)+fun(n-1);}voidmain(){intn,i,j;int*p=newint[60];cout<<"請(qǐng)輸入n:";cin>>n;for(i=0;i<2*n-1;i++)p[i]=fun(i);for(i=0;i<n;i++){for(j=0;j<2*i+1;j++)cout<<p[j]<<"";cout<<endl;}}2003年1、輸入球的中心點(diǎn)和球上某一點(diǎn)的坐標(biāo),計(jì)算球的半徑和體積。#include<iostream.h>#include<math.h>voidmain(){doubler;intx1,x2,y1,y2,z1,z2;constdoublePI=3.1416;cout<<"請(qǐng)輸入中心點(diǎn)坐標(biāo):";cin>>x1>>y1>>z1;cout<<"請(qǐng)輸入球上某一點(diǎn)的坐標(biāo):";cin>>x2>>y2>>z2;r=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));cout<<"半徑為:"<<r<<endl;cout<<"體積為:"<<(4*PI*r*r*r)/3<<endl;}2、手工建立一個(gè)文件,文件種每行包括學(xué)號(hào)、姓名、性別和年齡。每一個(gè)屬性使用空格分開(kāi)。文件如下:01李江男2102劉唐男2303張軍男1904王娜女19根據(jù)輸入的學(xué)號(hào),查找文件,輸出學(xué)生的信息。#include<iostream>#include<fstream>#include<string>#include<stdlib.h>usingnamespacestd;voidmain(){constintLEN=100;chars[LEN],k[LEN],*temp;intnum;cout<<"請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):";cin>>num;ifstreamfin("myfile.txt";while(fin.getline(s,LEN)){strcpy(k,s);temp=strtok(k,"");if(atoi(temp)==num){cout<<num<<"號(hào)學(xué)生的信息為:"<<s<<endl;break;}}}3、輸入年月日,計(jì)算該填是本年的第幾天。例如1990年9月20日是1990年的第263天,2000年5月1日是2000年第122天。(閏年:能被400正除,或能被4整除但不能被100整除。每年1、3、5、7、8、10為大月)#include<iostream.h>voidmain(){inti,sum=0,year,month,day;constintnum[12]={31,28,31,30,31,30,31,31,30,31,30,31};cout<<"請(qǐng)輸入年月日:";cin>>year>>month>>day;for(i=0;i<month-1;i++)sum+=num;sum+=day;if((year%4==0&&year%100!=0)||year%400==0)sum+=1;cout<<year<<"年"<<month<<"月"<<day<<"日是"<<year<<"年的第"<<sum<<"天"<<endl;}2004年第一題是建立一個(gè)角類,在這個(gè)類中重載減號(hào)運(yùn)算符,并實(shí)現(xiàn)求出角度的正弦值的函數(shù)。#include<iostream.h>#include<math.h>constdoublePI=3.1416;classangle{public:angle(){}angle(intx){X=x;}angleoperator-(anglec);voidxsin();private:};intX;#include"angle.h"voidangle::xsin(){doublex;x=(X*PI)/180;cout<<"正弦值為:"<<sin(x)<<endl;}angleangle:{perator-(anglec)returnangle(X-c.X);}#include"angle.h"voidmain(){anglec1(90),c2(60),c3;c3=c1-c2;c1.xsin();c2.xsin();c3.xsin();}第二題是建立一個(gè)求一元二次方程解的類(a*x^2+b*x+c=0),輸入系數(shù)a,b,c的值后打印出這個(gè)方程的解來(lái),也比較簡(jiǎn)單。需要注意的是系數(shù)a不能為零以及方程有無(wú)解,單解還是雙解的情況。#include<iostream.h>classequation{public:equation(floata,floatb,floatc):a(a),b(b),c(c){}floatD(){returnb*b-4*a*c;}voidfun();private:};floata,b,c;#include<math.h>#include"equation.h"voidequation::fun(){floatd=D();if(d==0)cout<<"單解為:"<<-b/(2*a)<<endl;elseif(d>0)cout<<"雙解為:"<<(-b+sqrt(d))/(2*a)<<","<<(-b-sqrt(d))/(2*a)<<endl;elsecout<<"復(fù)數(shù)解為:"<<-b/(2*a)<<"+"<<sqrt(-d)/(2*a)<<"i,"<<-b/(2*a)<<"+"<<-sqrt(-d)/(2*a)<<"i"<<endl;}#include"equation.h"voidmain(){floata,b,c;cout<<"請(qǐng)輸入(abc):";cin>>a>>b>>c;while(a==0){cout<<"非法,請(qǐng)重新輸入(abc):";cin>>a>>b>>c;}equatione(a,b,c);e.fun();}第三道題是實(shí)現(xiàn)一個(gè)多項(xiàng)式的類(a+b*x+c*x^2+d*x^3+...+),要求輸入該多項(xiàng)式的系數(shù)和x的值后打印出這個(gè)多項(xiàng)式的值。這道題本身并不難,但他要求用好的算法(實(shí)際上就是遞歸)。#include<iostream.h>floatfun(floats[],floatx,intn,intN){if(n==0)returns[N];elsereturns[N-n]+x*fun(s,x,n-1,N);}voidmain(){inti,N;floatnum[60],x;cout<<"請(qǐng)輸入最高項(xiàng)次數(shù):";cin>>N;cout<<"請(qǐng)依次輸入系數(shù):";for(i=0;i<=N;i++)cin>>num[i];cout<<"請(qǐng)輸入x:";cin>>x;cout<<"結(jié)果為:"<<fun(num,x,N,N)<<endl;}2005年第一題是給定一個(gè)程序,關(guān)于字符串的,要求輸入并調(diào)試,說(shuō)出此程序的意圖。意圖是按字母順序?qū)蓚€(gè)字符串比較排序。第二問(wèn)要求用盡可能少的語(yǔ)句對(duì)該程序進(jìn)行修改,使其能夠?qū)蓚€(gè)字符串比較長(zhǎng)度排序。本題滿分20。第二題是要求編寫(xiě)一個(gè)日期類,要求按xxxx-xx-xx的格式輸出日期,實(shí)現(xiàn)加一天的操作,不考慮閏年問(wèn)題,所有月份設(shè)為30天。本題黑盒測(cè)試時(shí),輸入2004年3月20日,得到加一天后時(shí)為2004-3-21,能得一部分分?jǐn)?shù)。輸入2004年3月30日,得到加一天后時(shí)間為2004-4-1,能得一部分分?jǐn)?shù)。輸入2004年12月30日,得到加一天后時(shí)間為2005-1-1,且有時(shí)間越界處理,能得全部分?jǐn)?shù)。本題滿分30。#include<iostream.h>classdate{public:date(inty,intm,intd):year(y),month(m),day(d){}voiddisplay();voidaddDay();private:intyear;intmonth;intday;};#include"date.h"voiddate::display(){cout<<year<<"-"<<month<<"-"<<day<<endl;}voiddate::addDay(){day++;if(day>30){day%=30;month++;if(month>12){month%=12;year++;}}}#include"date.h"voidmain(){inty,m,d;cout<<"請(qǐng)輸入(年月日):";cin>>y>>m>>d;while(y<0||m<0||m>12||d<0||d>30){cout<<"非法,請(qǐng)重新輸入(年月日):";cin>>y>>m>>d;}dated1(y,m,d);d1.addDay();d1.display();}第三題要求編寫(xiě)一個(gè)復(fù)數(shù)類,要求有4條。一是有構(gòu)造函數(shù),能對(duì)復(fù)數(shù)初始化。二是對(duì)復(fù)數(shù)c1,c2,c3.....能實(shí)現(xiàn)連加運(yùn)算,令c=c1+c2+c3+.....此處可以重載加法操作符。三是有函數(shù)實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相加,并按照a+ib的形式輸出。四是能實(shí)現(xiàn)對(duì)一個(gè)復(fù)數(shù)c=a+ib,定義doublex=c有效,使x的值為實(shí)部和虛部之和。本題滿分50?!?include<iostream>usingnamespacestd;classcomplex{public:complex(doubler=0.0,doublei=0.0){real=r;imag=i;}complexoperator+(complexc2);voiddisplay();operatordouble(){//重載類型轉(zhuǎn)換操作return(real+imag);}private:};doublereal;doubleimag;#include"complex.h"complexcomplex::operator+(complexc2){returncomplex(real+c2.real,imag+c2.imag);}voidcomplex::display(){cout<<real<<"+"<<imag<<"i"<<endl;}#include"complex.h"voidmain(){complexc1(5,4),c2(2,10),c3(6,9),c4;c4=c1+c2+c3;c4.display();doublex=c4;cout<<x<<endl;}2006年1.寫(xiě)一個(gè)程序判斷字符串中數(shù)字的位置(不限制使用面向?qū)ο缶幊蹋├纾狠斎胼敵鯽3b4c5246#include<iostream>#include<ctype.h>#include<string>usingnamespacestd;voidmain(){stringstr;inti;cout<<"請(qǐng)輸入字符串:";getline(cin,str);for(i=0;str[i]!='\0';i++)if(isdigit(str[i]))cout<<i+1<<"";cout<<endl;}2.寫(xiě)一個(gè)類,能接受int型的變量,接收變量后能存儲(chǔ)原變量(譬如12345)和其反向變量(54321),最多處理數(shù)量為10個(gè),當(dāng)輸入達(dá)到10個(gè)或者輸入變量為0的時(shí)候停止。并且在類銷毀前輸出存儲(chǔ)的所有變量。例如:輸入:12345,2234,0輸出:123455432122344322#include<iostream.h>#include<stdlib.h>classCInverse{public:CInverse();voidinverse();~CInverse();private:intnum[10];intinverseNum[10];intcountNum;};#include"CInverse.h"CInverse::CInverse(){intt,i;cout<<"請(qǐng)輸入整數(shù),以0停止:";cin>>t;for(i=0;i<10&&t!=0;i++){num[i]=t;cin>>t;}countNum=i;}voidCInverse::inverse(){charstr[10];intt,i,j,x;for(i=0;i<countNum;i++){x=num;j=0;while(x){t=x%10;str[j++]=t+48;x/=10;//加48}str[j]='\0';inverseNum=atoi(str);}}CInverse::~CInverse(){inti;for(i=0;i<countNum;i++)cout<<num<<""<<inverseNum<<endl;}#include"CInverse.h"voidmain(){}CInversec1;c1.inverse();3.寫(xiě)一個(gè)CTriangle類,要求可以接受CTriangle(y,x)形式的構(gòu)造,創(chuàng)建在坐標(biāo)系中的直角三角形樣子如下三點(diǎn)的坐標(biāo)分別是A(0,y)B(0,0)C(x,0)實(shí)現(xiàn)+運(yùn)算,并且能夠處理鍵盤連續(xù)輸入若干個(gè)(少于十個(gè))三角形,并且連加(相加時(shí)候三角形邊長(zhǎng)長(zhǎng)度相加,方向同第一個(gè)三角形)。輸入0后結(jié)束并輸出最后得出的三角形的三個(gè)坐標(biāo)值。#include<iostream.h>classCTriangle{public:CTriangle(inty=0,intx=0){Ay=y;Cx=x;}CTriangleoperator+(CTrianglec2);voidset(inty=0,intx=0){Ay=y;Cx=x;}voiddisplay();private:intAy;intCx;};#include"CTriangle.h"CTriangleCTriangle::operator+(CTrianglec2){returnCTriangle(Ay+c2.Ay,Cx+c2.Cx);}voidCTriangle::display(){cout<<"A(0,"<<Ay<<")B(0,0)C("<<Cx<<",0)"<<endl;}#include"CTriangle.h"voidmain(){inty,x,i,N;CTrianglec[10],sum;cout<<"請(qǐng)輸入坐標(biāo):";cin>>y;for(i=0;y!=0;i++){cin>>x;c[i].set(y,x);cin>>y;}N=i;sum.set();//置0for(i=0;i<N;i++)sum=sum+c;sum.display();}2007年1。一個(gè)小球,從高為H的地方下落,下落彈地之后彈起高度為下落時(shí)的一半,比如第一次彈起高度為H/2,如此往復(fù),計(jì)算從小球H高度下落到第n次彈地往返的總路程。要求:1。用遞歸的方法實(shí)現(xiàn)2。輸入H和n,輸出結(jié)果3。注意程序的健壯性4??梢杂肅或C++實(shí)現(xiàn)#include<iostream.h>#include<math.h>floatfun(intn){if(n==1)return1;elsereturnfun(n-1)+1/pow(2,n-2);}voidmain(){floatH;intn;cout<<"請(qǐng)輸入H和n:";cin>>H>>n;cout<<"小球從"<<H<<"高度下落到第"<<n<<"次彈地往返的總路程為:"<<fun(n)*H<<endl;}2。創(chuàng)建一個(gè)CPoint類,代表平面直角坐標(biāo)系中的點(diǎn),創(chuàng)建構(gòu)造函數(shù)和運(yùn)算符重載函數(shù),運(yùn)算符重載為類重載(非友元重載),可以實(shí)現(xiàn)計(jì)算兩個(gè)點(diǎn)之間的距離??梢愿鶕?jù)需要加入自己的成員變量或成員函數(shù)要求:1。輸入兩個(gè)點(diǎn)的坐標(biāo),輸出兩個(gè)點(diǎn)之間的距離2。重載運(yùn)算符為“-”#include<iostream.h>classCPoint{public:CPoint(intx=0,inty=0){X=x;Y=y;}floatoperator-(CPointc2);private:intX;intY;};#include"CPoint.h"#include<math.h>floatCPoint::operator-(CPointc2){returnsqrt((X-c2.X)*(X-c2.X)+(Y-c2.Y)*(Y-c2.Y));}#include"CPoint.h"voidmain(){intx1,y1,x2,y2;cout<<"請(qǐng)輸入兩個(gè)點(diǎn)的坐標(biāo):";cin>>x1>>y1>>x2>>y2;CPointc1(x1,y1),c2(x2,y2);cout<<"兩點(diǎn)間的距離為:"<<c1-c2<<endl;}3。創(chuàng)建一個(gè)CTriangle類,需要用到第二題中創(chuàng)建的類,即用3點(diǎn)來(lái)代表一個(gè)三角形,輸入三個(gè)點(diǎn)的坐標(biāo),實(shí)現(xiàn)判斷此三角形是不是直角三角形,并輸出此三角形的周長(zhǎng)。可以根據(jù)需要加入自己的成員變量或成員函數(shù)要求:1。輸入三個(gè)點(diǎn)的坐標(biāo),輸出周長(zhǎng)并給出是否直角三角形的信息2。注意程序的健壯性#include<iostream.h>classCPoint{public:CPoint(intx=0,inty=0){X=x;Y=y;}floatoperator-(CPointc2);private:};intX;intY;classCTriangle{public:CTriangle(CPointa,CPointb,CPointc):A(a),B(b),C(c){AB=A-B;BC=B-C;AC=A-C;}voiddisplay();boolfun();private:};CPointA,B,C;floatAB,BC,AC;#include"CTriangle.h"#include<math.h>floatCPoint::operator-(CPointc2){return(float)sqrt((X-c2.X)*(X-c2.X)+(Y-c2.Y)*(Y-c2.Y));}voidCTriangle::display(){cout<<"周長(zhǎng)為:"<<AB+BC+AC<<endl;}boolCTriangle::fun(){floata=AB,b=BC,c=AC,t;if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}if(fabs(a*a+b*b-c*c)<10e-6)returntrue;elsereturnfalse;}#include"CTriangle.h"voidmain(){intx1,y1,x2,y2,x3,y3;cout<<"請(qǐng)輸入三個(gè)頂點(diǎn)的坐標(biāo):";cin>>x1>>y1>>x2>>y2>>x3>>y3;CPointp1(x1,y1),p2(x2,y2),p3(x3,y3);CTrianglec(p1,p2,p3);if(c.fun()){cout<<"是直角三角形"<<endl;c.display();}elsecout<<"不是直角三角形"<<endl;}2008年1、存儲(chǔ)一組姓名,如Apple,Tom,Green,Jack要求能排序、按字母順序插入、并顯示。#include<iostream>#include<string>usingnamespacestd;voidmain(){constintN=10;strings[N],temp;inti,j,K;cout<<"請(qǐng)輸入字符串個(gè)數(shù):";cin>>K;cout<<"請(qǐng)輸入"<<K<<"個(gè)字符串:"<<endl;{cin>>temp;for(j=i;j>0;j--)if(temp<s[j-1])s[j]=s[j-1];s[j]=temp;}cout<<"排序后的結(jié)果為:"<<endl;for(i=0;i<K;i++)}急找馬克思中國(guó)化專業(yè)試題北京理工大學(xué)考研復(fù)試分?jǐn)?shù)線及復(fù)試信息經(jīng)驗(yàn)匯總北京理工大學(xué)2007年477計(jì)算機(jī)專業(yè)基礎(chǔ)試題(抱歉,僅有前3頁(yè))北京大學(xué)考研復(fù)試分?jǐn)?shù)線及復(fù)試信息經(jīng)驗(yàn)匯總對(duì)2013數(shù)學(xué)試題命制的若干猜測(cè)及我最重要的5點(diǎn)聲明(xflhp)經(jīng)濟(jì)學(xué)院2013招生發(fā)生重大變化,人數(shù)減少,復(fù)試只有面試查看更多>>閱讀答案微觀經(jīng)濟(jì)學(xué)試題答案南郵試題答案南開(kāi)大學(xué)復(fù)試試題六級(jí)答案課后答案考研真題答案考研復(fù)試上機(jī)計(jì)算+150+150精品文章總評(píng)分:威望+150K幣+150查看全部評(píng)分梅花香自苦寒來(lái),寶劍鋒從磨礪出!.回頂部九07年:一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng)1、要求建立學(xué)生類。2、有構(gòu)造和析構(gòu)函數(shù)。3、能夠查找和添加、刪除學(xué)生信息。4、按升序和降序?qū)W(xué)生信息進(jìn)行排序,并進(jìn)行輸出。5、有輸入、輸出接口。6、要求有一個(gè)菜單界面。7、有一個(gè)輸出接口。要求:1.不需要可視化編程2.上機(jī)時(shí)間兩個(gè)小時(shí)//Student.h文件structStu{intno;//學(xué)號(hào)charname[10];//姓名doublescore;//成績(jī)Stu*next;//};typedefStu*pStu;classStudent{public:Student();//構(gòu)造函數(shù)~Student();//釋放相關(guān)空間voidSearch(int);//查找指定學(xué)號(hào)的學(xué)生信息//添加新紀(jì)錄voidAddRec(int,char*,double);voidDelRec(int);//刪除指定學(xué)號(hào)的學(xué)生信息voidDisplay(intsytle=0);輸出,1:按升序排序并輸出,2:按降序排序并輸出)//按指定方式輸出學(xué)生信息(0(默認(rèn)):按當(dāng)前順序輸出private://一下函數(shù),考慮到程序設(shè)計(jì)的模塊化,定義為內(nèi)部函數(shù)供調(diào)用voidAscSort();//按升序排列數(shù)據(jù)voidDecSort();//按降序排列數(shù)據(jù)voidPrint();//輸出數(shù)據(jù)private:pStubase;//存儲(chǔ)空間intlength;//紀(jì)錄存儲(chǔ)的學(xué)生信息的條目數(shù)};//Student.cpp文件#include"Student.h"#include"iostream.h"#include"malloc.h"#include<string.h>Student::Student()//構(gòu)造函數(shù){//采用帶頭結(jié)點(diǎn)的鏈表base=(pStu)malloc(sizeof(structStu));base->no=0;strcpy(base->name,"";base->score=0.0;base->next=NULL;length=0;}Student::~Student()//釋放相關(guān)空間{pStutemp=base;while(temp){base=base->next;free(temp);temp=base;}}voidStudent::Search(intno)//查找指定學(xué)號(hào)的學(xué)生信息{pStutemp=base->next;while(temp){if(temp->no==no){cout<<"你要查找的學(xué)號(hào)為:"<<no<<"的學(xué)生信息為:"<<endl;cout<<"學(xué)號(hào):\t姓名:\t成績(jī):"<<endl;cout<<temp->no<<"\t"<<temp->name<<"\t"<<temp->score<<endl;break;}temp=temp->next;}if(!temp)cout<<"不存在學(xué)號(hào)為:"<<no<<"的學(xué)生信息!"<<endl;}voidStudent::AddRec(intno,char*name,doublescore)//添加新紀(jì),添加到紀(jì)錄的尾部{pStunow=(pStu)malloc(sizeof(Stu));//定義臨時(shí)變量now->no=no;strcpy(now->name,name);now->score=score;now->next=NULL;pStutemp=base;while(temp->next)temp=temp->next;temp->next=now;length++;}voidStudent:{elRec(intno)//刪除指定學(xué)號(hào)的學(xué)生信息pStup1,p2;p1=base->next;p2=base;while(p1->next!=NULL&&p1->no!=no){p2=p1;p1=p1->next;//向下查找}if(p1->no==no){p2->next=p1->next;free(p1);length--;}elsecout<<"刪除操作未正常完成,不存在學(xué)號(hào)為:"<<no<<"紀(jì)錄!"<<endl;}voidStudent::Display(intsytle)//按指定方式輸出學(xué)生信息(0(默認(rèn)):按當(dāng)前順序輸出輸出,1:按升序排序并輸出,2:按降序排序并輸出){switch(sytle){case0:Print();break;case1:AscSort();Print();break;case2:DecSort();Print();break;}}voidStudent:rint(){pStutemp=base->next;cout<<"學(xué)號(hào):\t姓名:\t成績(jī):"<<endl;while(temp){cout<<temp->no<<"\t"<<temp->name<<"\t"<<temp->score<<endl;temp=temp->next;}}voidStudent::AscSort(){if((length!=1)&&(length!=0)){cout<<length<<endl;pStutemp=base->next->next;pStup1,p2;p1=base;p2=base->next;p2->next=NULL;while(temp)//temp為指向待調(diào)整的有效結(jié)點(diǎn){p1=base;p2=base->next;while((p2->next!=NULL)&&(p2->score<=temp->score)){p1=p2;p2=p2->next;}if(p2->score>temp->score){pStuptemp=temp->next;p1->next=temp;temp->next=p2;temp=ptemp;}else{pStuptemp=temp->next;p2->next=temp;temp->next=NULL;temp=ptemp;}}}else{cout<<"當(dāng)前信息數(shù)目為:"<<length<<"不需要啟動(dòng)排序算法!"<<endl;}}voidStudent::DecSort(){if((length!=1)&&(length!=0)){cout<<length<<endl;pStutemp=base->next->next;pStup1,p2;p1=base;p2=base->next;p2->next=NULL;while(temp)//temp為指向待調(diào)整的有效結(jié)點(diǎn){p1=base;p2=base->next;while((p2->next!=NULL)&&(p2->score>=temp->score)){p1=p2;p2=p2->next;}if(p2->score<temp->score){pStuptemp=temp->next;p1->next=temp;temp->next=p2;temp=ptemp;}else{pStuptemp=temp->next;p2->next=temp;temp->next=NULL;temp=ptemp;}}}else{}cout<<"當(dāng)前信息數(shù)目為:"<<length<<"不需要啟動(dòng)排序算法!"<<endl;}//main.cpp文件#include"Student.h"#include"iostream.h"Students;//定義全局?jǐn)?shù)據(jù)voidmain(){intno;charname[10];doublescore;intsytle=0;intsytle_inner=0;start:cout<<"請(qǐng)選擇要進(jìn)行的操作:1-插入,2-刪除,3-查找,4-輸出,0-退出"<<endl;cin>>sytle;switch(sytle){case1:cout<<"請(qǐng)輸入學(xué)生的相關(guān)信息:"<<endl;cout<<"學(xué)號(hào):";cin>>no;cout<<"姓名:";cin>>name;cout<<"成績(jī):";cin>>score;s.AddRec(no,name,score);gotostart;break;case2:case3:case4:cout<<"請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl;cout<<"學(xué)號(hào):";cin>>no;s.DelRec(no);gotostart;break;cout<<"請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào):"<<endl;cout<<"學(xué)號(hào):";cin>>no;s.Search(no);gotostart;break;tab:cout<<"請(qǐng)輸入你想要的輸出方式(0-默認(rèn),1-升序,2-降序,3-返回上一層):"<<endl;cout<<"輸出方式:";cin>>sytle_inner;s.Display(sytle_inner);if(sytle_inner!=3)gototab;gotostart;break;case0:gotoend;break;}end:;}真題、單項(xiàng)選擇題(每小題1分,共10分)1、在數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)的最小單位是()A.數(shù)據(jù)元素B.字節(jié)C.數(shù)據(jù)項(xiàng)D.結(jié)點(diǎn)2、數(shù)據(jù)元素之間的關(guān)系稱為()A.操作B.結(jié)構(gòu)C.數(shù)據(jù)對(duì)象數(shù)據(jù)集合3、若經(jīng)常需要在線性表的尾部插入數(shù)據(jù),應(yīng)采用的存儲(chǔ)結(jié)構(gòu)是()A.順序存儲(chǔ)結(jié)構(gòu)B.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)C.兩種都合適D.兩種都不合適4.在一個(gè)單鏈表中,已知指針p指向其中的某個(gè)結(jié)點(diǎn),若在該節(jié)點(diǎn)前插入一個(gè)由指針s指向的結(jié)點(diǎn),則需執(zhí)行()A.s-﹥next=p-﹥next;p-﹥next=sB.p-﹥next=s;s-﹥next=pC.s=p-﹥next,p-﹥next=s;s-﹥next=r;D.僅靠已知條件無(wú)法實(shí)現(xiàn)5.靜態(tài)鏈表與動(dòng)態(tài)鏈表相比,其缺點(diǎn)是()A.插入刪除時(shí)需移動(dòng)較多的數(shù)據(jù)B.有可能浪費(fèi)較多的存儲(chǔ)空間C.不能隨機(jī)存取以上都不是6.下列更合適表示隊(duì)列的鏈表結(jié)構(gòu)是()A.單向鏈表B.單向循環(huán)鏈表C.雙向鏈表D.雙向循環(huán)鏈表7.若L表示單項(xiàng)表的頭指針,正確的表示是()A.ElemTypeLB.Elemtype*LC.Linklist*LD.LinklistL8.設(shè)廣義表L=(a,b,Getail(Getail(LA.(())9.若用一堆數(shù)組表示一個(gè)深度為5,結(jié)點(diǎn)個(gè)數(shù)10的二叉數(shù),數(shù)組的長(zhǎng)度至少為()A.10B.16C.31D.6410.下面不能唯一確定一棵二叉樹(shù)的兩個(gè)遍歷序列是()A.先序序列和中序序列B.先序序列和后序序列C.后序序列和中序序列D.都不能十、填空題(每空1分,共10分)1.在一個(gè)單鏈表中,刪除p所指結(jié)點(diǎn)的后繼結(jié)點(diǎn),需執(zhí)行的語(yǔ)句序列如下:_______;p-﹥next=q-﹥next;__________;2.在長(zhǎng)度為n線性表中插入一個(gè)元素,采用順序存儲(chǔ)結(jié)構(gòu)的復(fù)雜度為_(kāi)___;采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的復(fù)雜度為_(kāi)_____.3.在數(shù)的孩子兄弟表示法中,二叉鏈表的左指針指向_____,右指針指向¬¬¬______.4.在圖的數(shù)據(jù)結(jié)構(gòu)中,頂點(diǎn)表示_____,邊表示______.5.在堆排序中,首先需要進(jìn)行的操作是______.6.在哈希造表中,不同的關(guān)鍵字產(chǎn)生同一哈希地址的現(xiàn)象,稱為_(kāi)____.十一、簡(jiǎn)答題(每小題5分,共30分)1.在線性表和棧的順序存儲(chǔ)結(jié)構(gòu)中,可以用realloc動(dòng)態(tài)增加存儲(chǔ)空間,問(wèn)此方法不適合用于2.請(qǐng)簡(jiǎn)要說(shuō)明下列函數(shù)的主要功能。Voidfunc(LinklistL1,LinkListL2){LNode*p,*q,*r;q=L2-﹥next;while(q){p=L1while(p-﹥next){if(p-﹥next-﹥date==q-﹥date){r=p-﹥next;p-﹥next=r-﹥next;free(r);}P=p-﹥next;}q=q-﹥next;}Return;}3.若有一個(gè)一堆數(shù)組A,它的元素下標(biāo)從1開(kāi)始到MAX。要在數(shù)組A中建立兩個(gè)棧共享同一個(gè)空間,棧S1的棧頂指針為top1,棧S2的棧頂指針為top2,為了最大限度利用數(shù)組A的空間,則應(yīng)該如何共享?棧滿和??盏臈l件是什么?4.在下列算法中,F(xiàn)indPath(GraphG,intv,ints,List&PATH)是求圖中G中頂點(diǎn)v到s的一條路徑(用線性表示的一個(gè)頂點(diǎn)序列),請(qǐng)?jiān)诳瞻滋幪钊牒线m的語(yǔ)句或表達(dá)式。提示:在此算法中,圖的頂點(diǎn)均用頂點(diǎn)的編號(hào)表示。StatusFindPath(GraphG,intv,List&PATH){Visited[v]=TRUE;//標(biāo)示第v個(gè)頂點(diǎn)已被訪問(wèn)ListInsert(PATH,ListLength(PATH)+1,v);If(v--a)ReturnTRUE;For(w=FirstAdjVex(G,v);w!=-1;w=NextAdjVex(G,v,w))If(______)If(FindPath(G,w,s,PATH))returnTRUE;ListDelete(PATH,__________,e);ReturnFALSE;}5.當(dāng)B-樹(shù)作為文件的索引時(shí),一個(gè)結(jié)點(diǎn)除了包含關(guān)鍵字和指向孩子結(jié)點(diǎn)的指針外,還包含指向文件記錄的指針。假設(shè)一個(gè)結(jié)點(diǎn)占用的最大空間被限定為4096字節(jié),每個(gè)關(guān)鍵字和每個(gè)指針都占2各字節(jié),如果采用n階B樹(shù)作為文件的索引,則它的最大的階數(shù)應(yīng)該是多少?6.采用希爾排序法,對(duì)以下關(guān)鍵字序列按遞增次序排序,使用的增量序列為531,請(qǐng)給出每趟排序的結(jié)果。(8,6,3,4,2,9,7,5,1,0)十二、算法設(shè)計(jì)(共25分)1.表L中插入數(shù)據(jù)元素e,插入后保持L仍是非遞減有序。假設(shè):LocateElem(ListL,ElemTypee,compare())是在線性表L中查找第一個(gè)與e滿足關(guān)系compare()的數(shù)據(jù)元素的位序。若元素不存在,返回值為0.利用線性表的基本操作實(shí)現(xiàn)函數(shù)InsertInOrder(List&L,ElemTypee),其功能是在非遞減有序●●StatusListInsert(List&L,ElemType)是在線性表L中第i位之前插入新的數(shù)據(jù)元素e,L的長(zhǎng)度加1.●ListLength(L)是返回線性表L中元素的個(gè)數(shù)。●StatusGre
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人房屋轉(zhuǎn)讓合同常見(jiàn)問(wèn)題解答
- 臨時(shí)工勞動(dòng)合同范本:標(biāo)準(zhǔn)合同模板解析
- 臨時(shí)場(chǎng)地使用合同:版本
- 個(gè)人臨時(shí)用工合同協(xié)議
- 2025年股權(quán)轉(zhuǎn)讓合同范本及實(shí)例匯集
- 交通局交通設(shè)施采購(gòu)項(xiàng)目合同
- 二手房屋抵押借款合同模板
- 事業(yè)單位臨時(shí)工勞動(dòng)合同標(biāo)準(zhǔn)版
- 中日文雙語(yǔ)合同模板大全
- 中保人壽夢(mèng)想啟航保險(xiǎn)合同范本(A)
- 檢驗(yàn)科生物安全工作總結(jié)
- 《金屬與石材幕墻工程技術(shù)規(guī)范》jgj1332001-2021112401384
- 即時(shí)通訊系統(tǒng)建設(shè)方案
- 2024年中國(guó)南水北調(diào)集團(tuán)新能源投資限公司抽水蓄能項(xiàng)目崗位公開(kāi)招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 部編版五年級(jí)下冊(cè)語(yǔ)文1-8單元習(xí)作課件
- 中國(guó)2型糖尿病運(yùn)動(dòng)治療指南 (2024版)
- 基礎(chǔ)構(gòu)成設(shè)計(jì)全套教學(xué)課件
- 初中地理實(shí)驗(yàn)設(shè)計(jì)
- 2024年云南昆明市八年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 復(fù)工復(fù)產(chǎn)消防安全培訓(xùn)
- 城市道路交通安全評(píng)價(jià)標(biāo)準(zhǔn) DG-TJ08-2407-2022
評(píng)論
0/150
提交評(píng)論