版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章習(xí)題答案一、選擇填空1、A2、C3、D4、B5、D6、A7、C8、A9、D10、AIKC12.A13、B14、C15、C16、D17.B18、C19、A20、D21、C22、B二、判斷下列描述的對(duì)的性,對(duì)者劃J,錯(cuò)者劃X。1、J2、義3、X4、X5、J6、J7、義8、J9、X10、V11、J12、J13、J14、J15、X16、J17、J18、J19、V20、X21、X22、X三、分析下列程序的輸出結(jié)果。1、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。Defau1tconstructorca11edConstructorca1leda=0,b=0a=4,b=82、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。a=7,b=93、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。1044、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。1035,789.5045、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。CDate::CDate()CDate::CDate(intday,intmonthjntyear)(m_nDay=day;m_nMonth=month;m_nYear=year;)voidCDate::Display()(charday[5];charmonlh[5];charyear[5];_itoa(m_nDay,day,10);_itoa(m_nMonIh,nionth,10);_itoa(m_nYear,year,10);cout<<day?'7"<<month?'7"?year<<end1;}voidCDate::AddDay()(m_nDay++;if(IsLeapYear())if((m_nMonth==2)&&(m_nDay==30))m_nMonlh++;m_nDay=l;rcturn;)}else{if((m_nMonth==2)&&(m_nDay==29))(m_nMonth++;m_nDay=1;return;})if(m_nDay>31){if(m_nMonth==12)(m_nYear+4-;m_nMonth=l;m_nDay=1;)eIse(m_nMonth++:m_nDay=1;}))voidCDate::SetDate(intday,intmonth,intyear)(m_nDay=day;m_nMonth=month;m_nYear=year;)CDate::~CDate()()boolCDate::IsLeapYear()|boo1bLeap;if(m_nYcar%4!=0)bLeap=false;elseif(m_nYear%100!=0)bLeap=true;elseif(m_nYear%400!=0)bLeap=fa1se;elsebLcap=truc;returnbLeap;voidmain()CDated;d.SetDatc(2023,2,28);coutvV"當(dāng)前日期=>'d.Disp1ay();d.AddDay();coutvv”當(dāng)前日期加1=>:";d.Disp1ay();)4、程序內(nèi)容如下所示。#include<iostream,h>classTc(private:doubleunlead,lead,total;intunpricc,price;pub1ic:Tc(){unprice=l7;price=16;}voidgetdata(){coutVV"無(wú)鉛汽油總量「;cin>>un1ead;coutv<”有鉛汽油總量;”;cin?lead;totai=unpricc*unlead+pricc*lcad;voiddisp()cout?"總收入:"<<total?cndl;));voidmain(){TcA;A.getdata();A.disp();}5、程序內(nèi)容如下所示。#inc1ude<iostream.h>c1assCFactorial(intvaluc;in(fact;pub1ic:CFactorial(intva1);voidCa1culateFactorial();voidDisp1ay(););CFactoria1::CFactorial(intva1)(vahic=val;fact=I;voidCFactorial::Ca1culateFactorial(){inii=value;while(i>1)facl*=i—;IvoidCFactoria1::Display()(cout<<value<<"!="?fact?end1;}voidmain()(CFactoriaIA(5);A.CaIculateFactorial();A.Disp1ay();)6、程序內(nèi)容如下所示。#include<iostream.h>#include<iomanip.h>classrectangle(private:floatledge,sedge;public:rectangle(){};reclangle(floala,floatb)Icdge=a;sedge=b;);floatarea(){returnledgersedge;);voidaddarea(rectang1er1,rectangler2)(coul<〈”總面積:w<<rl.1edge*rl.sedge+r2.1edge*r2.sedge?endl;)};voidmain()(rectangleA(3.5,2.5),B(4.2,3.8),C;C.addarea(A,B);}7、程序內(nèi)容如下所示。inc1ude<iostream.h>inc1ude<iomanip.h>classrectangle(private:f1oatledge?sedge;pub1ic:rectang1e(){};rcctanglc(f1oata,floath)(ledge=a;sedge=b;I;floatarea()(return1edge*sedge;};voidshow1ength()(coutvv"周長(zhǎng):"VV(ledge+sedge)*2?endl;)rectang1ct1cngth(rcctangler2){rectangletemp;temp.ledge=ledge+r2.ledge;temp,sedge=sedge+r2.sedge;retumtemp;});voidmain()rectangleA(3.5,2.5),B(4.2,3.8);cout?"A,';A.showlength();cout?"B°;B.showlength();rcctanglcC=A.tlcngth(B);cout?"C";C.showlength();}8、程序內(nèi)容如下所示。#inelude<iostream.h>#include<iomanip.h>c1assLine(private:doubIexl,x2,yl,y2;public:Line(){};Line(doublea.doubleb,doublec,doubled)(x1=a;yl=b;x2=c;y2=d;cout?"線段端點(diǎn)"VVxl<<"JVVylvv")-("?x2?,,,"?y2?")"?endl;)friendtwoline(Line1I,Line12)(doublerl=12.y1*(12.x2-11.x1)-1I.y1*(12.x2-12.x1)+(11.x1—12.x1)*(12.y2-12.yl);doubler2=(1l.y2-ll.y1)*(12.x2~12.x1)-(11.x2-11.x1)*(12.y2-l2.yl);doubler=rl/r2;doub1et=((ll.xl—I2.xl)+r*(11.x2-11.x1))/(12.x2-12.X1);if(r>0&&r<l&&t>0&&t<l)coutVV""<<end1;e1seif(r>O&&r<l&&t>=l)cout<<""<<end1;elseif((r>=1||r<=0)&&t>0&&t<1)coutvV""<<endl;e1secout?"',<<endl;)};voidmain()(LincA(2,2,18,18),B(1,12,19,5);twoline(A,B);)9、本題涉及兩個(gè)類siudent和cdegree,前者為學(xué)生類,包含學(xué)生的學(xué)號(hào)(no),姓名(name)和成績(jī)(degree),而成績(jī)degree是類cdegree的對(duì)象。cdegrec類有3個(gè)數(shù)據(jù)成員,分別為數(shù)學(xué)(math),英語(yǔ)(english)和物理(phy)分?jǐn)?shù)。程序內(nèi)容如下所示。#include<iostream.h>c1assstudentintno;(}{0,1,2,3,4,5,6,7,8)1!11,12,13,14,15,16,17,18,19){19,18,17,16,15,14,13,12,11}6、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。Starting1:Defau1tconsiructorcalled.Defau1tconstruetorcalled.Defaultconslructorcalled.Edingl:Starting2:Constructor:a=5,b=6Constructor:a=7,b=8Constructor:a=9,b=10Ending2:Destructorca11cd.a=9,b=10Des(ruclorca11ed.a=7,b=8Destructorcailed,a=5,b=6Destruetorcalled.a=5,b=6Destmetorcallcd.a=3,b=4Destructorcalled.a=Lb=27、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。Defaultconstructorcalled.DefauItconstruetorcalled.Defaultconstructorca11ed.DefauItconstructorcal1ed.charnamef10];c1asscdegree(publie:intmath;intenglish;intphy:}degree;pub1ic:voidgelda(a()(coutvv”學(xué)號(hào):”;cin?no;coutvv"姓名:";cin?name;coutVV”數(shù)學(xué)分?jǐn)?shù):cin?degree.math;cout?"英語(yǔ)分?jǐn)?shù):";cin>>degree.english;cout<<”物理分?jǐn)?shù):cin?degree.phy;)voiddisp(){cout<<"學(xué)號(hào):"<<no<<cndl;cout<<"姓名:"?name?endl:cout?"數(shù)學(xué)分?jǐn)?shù):"<<degree.math?endl;cout<<"英語(yǔ)分?jǐn)?shù):'*<<degree.english<<end1;cout<V”物理分?jǐn)?shù):"<<degrec.phy<<endI:));voidmain()(studentstud;stud.getdata();stud.disp();)10、程序內(nèi)容如下所示。#include<iostream.h>classStudcnt(inteng1ish,computcr,total;pub1ic:voidgetscore();voidclisplay();voidsort(Student火);-Student();};voidStudent::getscore()(cout<<"輸入英語(yǔ)成績(jī)";cin?english;coutVV"輸入計(jì)算機(jī)成績(jī)”;cin?computer;totai=english+computcr;)voidStudent::sort(Studcnt*p)(inttmp,i,j:for(j=0:j<2;j++)for(i=0;i<2;i++)if(total<p->tota1)(tmp=total;total=p—>tota1;p->tota1=tmp;(mp=english;cnglish=p->cnglish;p->english=tmp;tmp=computer;computer=p->computer;p->computer=tnip;))voidStudent::display()cout<V"英語(yǔ)="<<cng1ish<<"計(jì)算機(jī)="?computcr<V"總分="<Vtotal?cndl:voidmain()Studcnt*A[3];for(intj=O;jv3;j++)(A|j]=newStudent;coutvv"學(xué)生"V<j+lvvend1;Afj]->getscore();}inti;for(j=O;j<2;j++)for(i=0;i<2;i++)A[i]->sort(A[i+l]);cout<<end1V<"排序結(jié)果如下:"<<endl;for(i=0;i<3;i++)A[i]->display();)1、程序內(nèi)容如下所示。#include<iostream,h>struct1ist〃定義棧(intdata;list*nexI;};classStack〃定義一個(gè)棧操作類list*ptr;public:Stack(){ptr=NULL;}voidpush(inti);intpop();I;voidStack::push(intx)//入棧成員函數(shù)(list*newnode=new1ist;newnode->data=x;newnode->next=ptr;ptr=newnode;)intStack::pop()//出棧成員函數(shù)(1ist*top;intvalue;value=ptr—>data;top=ptr;ptr=ptr->next;deletetop;returnvalue;)voidmain()StackA;iniarr[]={5,2,8,1,4,3,9,7,6};cout<<"入枝順序:";for(inti=0;i<9;i+4-){cout?arr[i]?"A.push(arr[i]);)coutvvendlvv”出棧順序:";for(i=0:iV9;i++)cout?A.pop()<<"";cout?end);)12、程序內(nèi)容如下所示。#include<iostream.h>struct1ist(intdata;list*next;c1assQucue(Iist*ptrf,*ptrb;〃隊(duì)首和隊(duì)尾指針public:Queue()ptrf=ptrb=NULL;voidenqueue(int);intdcqucuc();):voidQueue::enqueuc(intx)〃入隊(duì)成員函數(shù)(list*newnode=new1ist;newnode->data=x;newnode->next=NULL;if(ptrb==NULL)ptrf=ptrb=newnode:else(ptrb->ncxt=newnode;ptrb=newnode;});intQueue::dequeue()//出隊(duì)成員函數(shù)(1ist*tmp;intva1ue;va1ue=ptrf->data;tmp=ptrf;ptr^ptrf->next;de1ctetmp;returnvalue;voidmain()QueueA;intarr[]={3,12,8,9,11};COUlVV"入隊(duì)順序;";for(inti=0;i<5;i++)(cout<<arr[i]?"";A.enqueue(arr[i]);}cout<<endl?"出隊(duì)順序;for(i=0;i<5;i++)cout?A.dequcue()?"”;cout<<end1;}13、程序內(nèi)容如下所示。#include<iostream.h>#include<std1ib.h>typcdefstructtree(intdata;tree*1eft,*right-father;}*bstree;classBtrcestaticintn;staticintm;publie:tree*root;Btree()(root=NULL;)voidcreate_Btree(int);voidinorder(bstree);//中序遍歷voiddisplayO{cout?endl<<"中序遍歷序列:"?endl;inorder(root);cout<Vendl;}intcount(bstree);//計(jì)算二叉樹(shù)的個(gè)數(shù)intprint(bstrce,int);//輸出要查找的值相應(yīng)的雙親結(jié)點(diǎn)的內(nèi)容):intBtrce::n=0:in(Btree::m=0;intBtree::print(bstreep,intk)(if(p==NULL)rcturn0;else(if(p->data!=k){print(p—>1cft,k);print(p->right,k);eIsecoutvvkvv"的雙親結(jié)點(diǎn)的內(nèi)容為:"vvp—>father—>data?end)return0;})voidBtree::ereate_Btree(inix)(bslreenewnode=newtree;newnode—>data=x;ncwnodc->right=ncwnode->lcft=NULL;if(root==NULL)root=ncwnode;else(bstreeback;bstreecurrent=root;whiIe(current!=NULL)(back=current;if(current—>data>x)
currcnt=currcnt->lcft;Destructorcalied.Constructorlcal1ed.Destructorcal1cd.Constructor2ca11ed.Destructorcalled.x=0,y=0x=5,y=0x=2,y=3Destructorca1led.Destruc(orca1led.Destructorcalled.8、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。Constructorcalied.0Construetorcal1cd.5Destructorcalled.55Destructorcalied.59、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。Constructorcalied.55Destructorca11ed.510、運(yùn)營(yíng)該程序輸出結(jié)果如下所示。DefaultConstructorcalled.Construetor:rea1=6.8,imag=0Constructor:rea1=5.6,imag=7.90+0Icurrent=current->right;if(back->data>x){back—>left=newnode;newnode->father=back;}else{back->right=newnode;newnode->father=back;}))intBtree::count(bstreep)(if(p==NULL)return0;e1sereturncount(p->1eft)+count(p—>right)+l;〃這是運(yùn)用了函數(shù)嵌套即遞歸的方法。)voidBtree::inorder(bstreetemp)//這是中序遍歷二叉樹(shù),采用了遞歸I的方法。(if(temp!=NULL)(inorder(temp->left);cout<<temp—>data?"inorder(temp—>right);voidmain()(BtreeA;intarray[]={7,4,1,5,12,8,13,11};intk;k=sizeof(array)/sizeof(array[0]);coul?"建立排序二又樹(shù)順序:H?end1;for(inti=0;i<k;i++)(cout<<array[i]<<"";A.create_Btree(array[i]);}cout?endl;coutvv"二叉樹(shù)節(jié)點(diǎn)個(gè)數(shù):”<vA.count(A.root)?endl;A.disp1ay();)14、程序內(nèi)容如下所示。#inelude<iostream.h>#inckide<stdio.h>structlist1ist*next;};classStack(ist*ptr;pub1ic:Stack(){ptr=NULL;}voidpush(inti);intpop();intempty()(if(ptr==NULL)relurn1;elsereturn0;)I;voidStack::push(intx)(ist*newnode=newlist;newnode->data=x;newnode->next=ptr;ptr=newnode;)intStack::pop()(list*top:value=ptr->data;top=ptr;ptr=ptr->next;deletetop;returnva1uc:)c1assQueue(list*ptrf,*ptrb;public:Queue(){ptrf=ptrb=NULL;)voidenqueue(int);intdcqucue(););voidQueue::enqueue(intx)(list火newnodc=newlist;newnode->data=x;newnode—>next=NULL;if(ptrb==NULL)ptrf=ptrb=newnode;pirb->next=newnode;ptrb=newnode;)};intQueue::dcqucue()(list*imp;intvalue;value=ptrf—>data;tmp=plrf;ptrf=ptrf—>next;de1etetmp;returnvalue;)voidmain()(StackS;QueueQ;charch;cout?"輸入數(shù)據(jù):";while((ch=getchar())!='.'){S.push(ch);Q.enqueue(ch);while(!S.emp(y()&&S.pop()==Q.dequeue());if(S.empty())cout<<”輸入的是回文數(shù)據(jù)。”《endl;elsecout<<"輸入的不是回文數(shù)據(jù)。"?end1;}15、程序內(nèi)容如下所示。#include<iostream.h>#include<iomanip.h>classmagic(intm[4][4];intsiep;intfirst;intsum:public:voidgctdata();voidsetfirstmagic();voidgeneratemagic():voidprintmagic();};voidmagic::getdata()(cOUIV〈”輸入魔方起始值:”;cin?first;cout?"輸入相鄰元素差值:";cin?step;voidmagic::setfirstmagic()inti,j;inttmp;tmp=first;for(i=0;i<4;i++)for(j=0;j<4;j++){m[i][j]=tmp;tmp+=step;))voidmagic::gcncratemagic()(sum=m[0][0]+m[3][3];for(in(i=0,j=0;i<4;i++,j++)m[i][j]=sum-m[i][j];for(i=0,j=3;i<4;i++,j--)m[i][J]=sum-m[i][j];)voidmagic::printmagic()(inti,j;for(i=0;iV4;i++)for(j=0;j<4;j++)cout<<setw(5)<<m[i][j];cout?endl;))voidmain()(magicA;A.getdata();A.setfirstmagic();coutv<”本來(lái)的魔方如下:"cvendl;A.printmagic();A.generatemagic();coutVV"最終的魔方如下:"《endl;A.printmagic():6.8+015.6+7.9IConstructor:rcal=1.2,imag=3.4Constructor:real=5,imag=0DefaultConstructorcailed.1.2+3.415+010+011、答:⑴該程序中用string.h中所包含的函數(shù)有3種,它們是strcpy()、strcat()和strlen().⑵該程序中使用了函數(shù)重載。它們是下述兩個(gè)構(gòu)造函數(shù)重載:String()和Siring(constchar*str)o(3)類中成員函數(shù)Sctc()的功能是用來(lái)設(shè)立字符數(shù)組中某位置的一個(gè)指定字符。⑷類中成員函數(shù)Getc()的功能是用來(lái)從某個(gè)字符數(shù)組中獲取指定位置的字符。⑸類中成員函數(shù)Appcnd()的功能是在一個(gè)字符數(shù)組中追加一個(gè)指定的字符串,即將指定的字符串添加到已知串的后邊。⑹不行。⑺該程序中有兩處使用了new運(yùn)算符。⑻運(yùn)營(yíng)該程序輸出結(jié)果如下所示。empty.astring.9astring.thisastring.四、改正以下程序中的錯(cuò)誤。1、該程序中point類的構(gòu)造函數(shù)定義不對(duì)的,在main()中隊(duì)數(shù)據(jù)成員的訪問(wèn)不對(duì)的,修改如下:#inc1ude<iostream.h>c1asspoint(ntxl,x2;public:point(intx,inty){point::x=x;point::y=y;}voiddisp(){cout?xl<<endl;cout?x2?endl;)//);voidmain(){pointda(a(5,5);data.dispO;)2、在main。函數(shù)中的p.x+=5和p.y+=6兩個(gè)語(yǔ)句是錯(cuò)誤的,由于保護(hù)數(shù)據(jù)僅能被類的成員函數(shù)訪問(wèn)。五、按下列規(guī)定編寫程序。1、程序內(nèi)容如下所示。#inc
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)聯(lián)苯雙酯行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)線簧插孔市場(chǎng)發(fā)展?fàn)顩r及投資前景規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)純棉內(nèi)衣市場(chǎng)需求狀況及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)電子狗市場(chǎng)運(yùn)營(yíng)狀況及前景趨勢(shì)調(diào)研報(bào)告
- 2025-2030年中國(guó)瓦楞紙箱包裝市場(chǎng)規(guī)模分析及發(fā)展建議研究報(bào)告
- 2025-2030年中國(guó)物流機(jī)械產(chǎn)業(yè)發(fā)展格局及投資前景規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)燈飾產(chǎn)品行業(yè)市場(chǎng)發(fā)展前景調(diào)研與投資策略分析報(bào)告
- 2025-2030年中國(guó)滑雪用具行業(yè)發(fā)展格局及投資建議研究報(bào)告
- 2025-2030年中國(guó)汽車膠管市場(chǎng)規(guī)模分析及發(fā)展建議研究報(bào)告
- 二零二五年度網(wǎng)絡(luò)安全技術(shù)解決方案合同4篇
- 申根簽證申請(qǐng)表模板
- 企業(yè)會(huì)計(jì)準(zhǔn)則、應(yīng)用指南及附錄2023年8月
- 諒解書(標(biāo)準(zhǔn)樣本)
- 2022年浙江省事業(yè)編制招聘考試《計(jì)算機(jī)專業(yè)基礎(chǔ)知識(shí)》真題試卷【1000題】
- 認(rèn)養(yǎng)一頭牛IPO上市招股書
- GB/T 3767-2016聲學(xué)聲壓法測(cè)定噪聲源聲功率級(jí)和聲能量級(jí)反射面上方近似自由場(chǎng)的工程法
- GB/T 23574-2009金屬切削機(jī)床油霧濃度的測(cè)量方法
- 西班牙語(yǔ)構(gòu)詞.前后綴
- 動(dòng)物生理學(xué)-全套課件(上)
- 河北省衡水市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
評(píng)論
0/150
提交評(píng)論