




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì)課后答案C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第1頁。C++語言程序設(shè)計(jì)課后答案C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第1頁。第二章C++簡(jiǎn)單程序設(shè)計(jì)2-10執(zhí)行完下列語句后,a、b、c三個(gè)變量的值為多少?a=30;b=a++;c=++a;解:a:32;b:30;c:32;2-13寫一條for語句,計(jì)數(shù)條件為n從100到200,步長(zhǎng)為2;然后用while和do…while語句完成同樣的循環(huán)。解:for循環(huán):for(intn=100;n<=200;n+=2);while循環(huán):intx=100;while(n<=200)n+=2;do…while循環(huán):intn=100;doC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第2頁。{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第2頁。n+=2;}while(n<=200);2-17修改下面這個(gè)程序中的錯(cuò)誤,改正后它的運(yùn)行結(jié)果是什么?#include<iostream.h>voidmain()intiintj;i=10;/*給i賦值j=20;/*給j賦值*/cout<<"i+j=<<i+j;/*輸出結(jié)果*/return0;}解:改正:#include<iostream.h>intmain(){inti;intj;i=10;//給i賦值C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第3頁。j=20;/*給j賦值*/C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第3頁。cout<<"i+j="<<i+j;/*輸出結(jié)果*/return0;}程序運(yùn)行輸出:i+j=302-18編寫一個(gè)程序,運(yùn)行時(shí)提示輸入一個(gè)數(shù)字,再把這個(gè)數(shù)字顯示出來。解:源程序:#include<iostream.h>intmain(){inti;cout<<"請(qǐng)輸入一個(gè)數(shù)字:";cin>>i;cout<<"您輸入一個(gè)數(shù)字是"<<i<<endl;return0;}程序運(yùn)行輸出:請(qǐng)輸入一個(gè)數(shù)字:5您輸入一個(gè)數(shù)字是5C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第4頁。2-20打印ASCII碼為32~127的字符。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第4頁。解:#include<iostream.h>intmain(){for(inti=32;i<128;i++)cout<<(char)i;return0;}程序運(yùn)行輸出:!"#$%G'()*+,./0123456789:;<>?@ABCDEFGHIJKLMNOP_QRSTUVWXYZ[\]^'abcdefghijklmnopqrstuvwxyz<|>~s2-21運(yùn)行下面的程序,觀察其輸出,與你的設(shè)想是否相同?#include<iostream.h>intmain(){unsignedintx;unsignedinty=100;unsignedintz=50;x=y-z;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第5頁。cout<<"Differenceis:"<<x;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第5頁。x=z-y;cout<<"\nNowdifferenceis:"<<x<<endl;return0;}解:程序運(yùn)行輸出:Differenceis:50Nowdifferenceis:4294967246注意,第二行的輸出并非-50,注意x、y、z的數(shù)據(jù)類型。2-22運(yùn)行下面的程序,觀察其輸出,體會(huì)i++與++i的差別。#include<iostream.h>intmain(){intmyAge=39;//initializetwointegersintyourAge=39;cout<<"Iam:"<<myAge<<"yearsold.\n";cout<<"Youare:"<<yourAge<<"yearsold\n";myAge++;//postfixincrementC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第6頁。++yourAge;//prefixincrementC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第6頁。cout<<"Oneyearpasses...\n";cout<<"Iam:"<<myAge<<"yearsold.\n";cout<<"Youare:"<<yourAge<<"yearsold\n";cout<<"Anotheryearpasses\n";cout<<"Iam:"<<myAge++<<"yearsold.\n";cout<<"Youare:"<<++yourAge<<"yearsold\n";cout<<"Let'sprintitagain.\n";cout<<"Iam:"<<myAge<<"yearsold.\n";cout<<"Youare:"<<yourAge<<"yearsold\n";return0;}解:程序運(yùn)行輸出:Iam39yearsoldYouare39yearsoldOneyearpassesIam40yearsoldC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第7頁。Youare40yearsoldC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第7頁。AnotheryearpassesIam40yearsoldYouare41yearsoldLet'sprintitagainIam41yearsoldYouare41yearsold2-28編寫一個(gè)完整的程序,實(shí)現(xiàn)功能:向用戶提問"現(xiàn)在正在下雨嗎?",提示用戶輸入Y或N。若輸入為Y,顯示"現(xiàn)在正在下雨。";若輸入為N,顯示"現(xiàn)在沒有下雨。";否則繼續(xù)提問"現(xiàn)在正在下雨嗎?"解:源程序:#include<iostream.h>#include<stdlib.h>voidmain(){charflag;while(1){cout<<"現(xiàn)在正在下雨嗎?(YesorNo):";C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第8頁。cin>>flag;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第8頁。if(toupper(flag)=='Y'){cout<<"現(xiàn)在正在下雨。";break;}if(toupper(flag)=='N'){cout<<"現(xiàn)在沒有下雨。";break;}}}程序運(yùn)行輸出:現(xiàn)在正在下雨嗎?(YesorNo):x現(xiàn)在正在下雨嗎?(YesorNo):l現(xiàn)在正在下雨嗎?(YesorNo):q現(xiàn)在正在下雨嗎?(YesorNo):n現(xiàn)在沒有下雨?;颍含F(xiàn)在正在下雨嗎?(YesorNo):y現(xiàn)在正在下雨。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第9頁。2-29編寫一個(gè)完整的程序,運(yùn)行時(shí)向用戶提問"你考試考了多少分?(0~100)",接收輸入后判斷其等級(jí),顯示出來。規(guī)則如下:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第9頁。解:#include<iostream.h>voidmain(){inti,score;cout<<"你考試考了多少分?(0~100):";cin>>score;if(score>100||score<0)cout<<"分?jǐn)?shù)值必須在0到100之間!";else{i=score/10;switch(i){case10:case9:cout<<"你的成績(jī)?yōu)閮?yōu)!";break;case8:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第10頁。cout<<"你的成績(jī)?yōu)榱迹?;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第10頁。break;case7:case6:cout<<"你的成績(jī)?yōu)橹校?;break;default:cout<<"你的成績(jī)?yōu)椴睿?;}}}程序運(yùn)行輸出:你考試考了多少分?(0~100):85你的成績(jī)?yōu)榱迹?-31用窮舉法找出1~100間的質(zhì)數(shù),顯示出來。分別使用while,do-while,for循環(huán)語句實(shí)現(xiàn)。解:源程序:使用while循環(huán)語句:#include<iostream.h>#include<math.h>voidmain()C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第11頁。{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第11頁。inti,j,k,flag;i=2;while(i<=100){flag=1;k=sqrt(i);j=2;while(j<=k){if(i%j==0){flag=0;break;}j++;}if(flag)cout<<i<<"是質(zhì)數(shù)."<<endl;i++;}}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第12頁。使用do…while循環(huán)語句:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第12頁。#include<iostream.h>#include<math.h>voidmain(){inti,j,k,flag;i=2;do{flag=1;k=sqrt(i);j=2;do{if(i%j==0){flag=0;break;}j++;}while(j<=k);if(flag)cout<<i<<"是質(zhì)數(shù)."<<endl;i++;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第13頁。}while(i<=100);C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第13頁。}使用for循環(huán)語句:#include<iostream.h>#include<math.h>voidmain(){inti,j,k,flag;for(i=2;i<=100;i++){flag=1;k=sqrt(i);for(j=2;j<=k;j++){if(i%j==0){flag=0;break;}}if(flag)cout<<i<<"是質(zhì)數(shù)."<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第14頁。}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第14頁。}程序運(yùn)行輸出:2是質(zhì)數(shù).3是質(zhì)數(shù).5是質(zhì)數(shù).7是質(zhì)數(shù).11是質(zhì)數(shù).13是質(zhì)數(shù).17是質(zhì)數(shù).19是質(zhì)數(shù).23是質(zhì)數(shù).29是質(zhì)數(shù).31是質(zhì)數(shù).37是質(zhì)數(shù).41是質(zhì)數(shù).43是質(zhì)數(shù).47是質(zhì)數(shù).53是質(zhì)數(shù).59是質(zhì)數(shù).61是質(zhì)數(shù).67是質(zhì)數(shù).C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第15頁。71是質(zhì)數(shù).C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第15頁。73是質(zhì)數(shù).79是質(zhì)數(shù).83是質(zhì)數(shù).89是質(zhì)數(shù).97是質(zhì)數(shù).2-33定義一個(gè)表示時(shí)間的結(jié)構(gòu)體,可以精確表示年、月、日、小時(shí)、分、秒;提示用戶輸入年、月、日、小時(shí)、分、秒的值,然后完整地顯示出來。解:源程序見"實(shí)驗(yàn)指導(dǎo)"部分實(shí)驗(yàn)二2-34在程序中定義一個(gè)整型變量,賦以1~100的值,要求用戶猜這個(gè)數(shù),比較兩個(gè)數(shù)的大小,把結(jié)果提示給用戶,直到猜對(duì)為止。分別使用while、do…while語句實(shí)現(xiàn)循環(huán)。解://使用while語句#include<iostream.h>voidmain(){intn=18;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第16頁。intm=0;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第16頁。while(m!=n){cout<<"請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):";cin>>m;if(n>m)cout<<"你猜的值太小了!"<<endl;elseif(n<m)cout<<"你猜的值太大了!"<<endl;elsecout<<"你猜對(duì)了!"<<endl;}}//使用do…while語句#include<iostream.h>voidmain(){intn=18;intm=0;do{cout<<"請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):";cin>>m;if(n>m)C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第17頁。cout<<"你猜的值太小了!"<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第17頁。elseif(n<m)cout<<"你猜的值太大了!"<<endl;elsecout<<"你猜對(duì)了!"<<endl;}while(n!=m);}程序運(yùn)行輸出:請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):50你猜的值太大了!請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):25你猜的值太大了!請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):10你猜的值太小了!請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):15你猜的值太小了!請(qǐng)猜這個(gè)數(shù)的值為多少?(0~~100):18你猜對(duì)了!第三章函數(shù)3-2觀察下面程序的運(yùn)行輸出,與你設(shè)想的有何不同?仔細(xì)體會(huì)引用的用法。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第18頁。源程序:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第18頁。#include<iostream.h>intmain(){intintOne;int&rSomeRef=intOne;intOne=5;cout<<"intOne:\t\t"<<intOne<<endl;cout<<"rSomeRef:\t"<<rSomeRef<<endl;intintTwo=8;rSomeRef=intTwo;//notwhatyouthink!cout<<"\nintOne:\t\t"<<intOne<<endl;cout<<"intTwo:\t\t"<<intTwo<<endl;cout<<"rSomeRef:\t"<<rSomeRef<<endl;return0;}程序運(yùn)行輸出:intOne:5rSomeRef:5intOne:8intTwo:8rSomeRef:8C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第19頁。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第19頁。3-7編寫函數(shù),參數(shù)為兩個(gè)unsignedshortint型數(shù),返回值為第一個(gè)參數(shù)除以第二個(gè)參數(shù)的結(jié)果,數(shù)據(jù)類型為shortint;如果第二個(gè)參數(shù)為0,則返回值為-1。在主程序中實(shí)現(xiàn)輸入輸出。解:源程序:#include<iostream.h>shortintDivider(unsignedshortinta,unsignedshortintb){if(b==0)return-1;elsereturna/b;}typedefunsignedshortintUSHORT;typedefunsignedlongintULONG;intmain(){USHORTone,two;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第20頁。shortintanswer;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第20頁。cout<<"Entertwonumbers.\nNumberone:";cin>>one;cout<<"Numbertwo:";cin>>two;answer=Divider(one,two);if(answer>-1)cout<<"Answer:"<<answer;elsecout<<"Error,can'tdividebyzero!";return0;}程序運(yùn)行輸出:Entertwonumbers.Numberone:8Numbertwo:2Answer:43-8編寫函數(shù)把華氏溫度轉(zhuǎn)換為攝氏溫度,公式為:C=(F-32)*5/9;在主程序中提示用戶輸入一個(gè)華氏溫度,轉(zhuǎn)化后輸出相應(yīng)的攝氏溫度。解:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第21頁。源程序見"實(shí)驗(yàn)指導(dǎo)"部分實(shí)驗(yàn)三C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第21頁。3-10編寫函數(shù)求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)。解:源程序:#include<iostream.h>#include<math.h>intfn1(inti,intj);//求最大公約數(shù)的函數(shù)voidmain(){inti,j,x,y;cout<<"請(qǐng)輸入一個(gè)正整數(shù):";cin>>i;cout<<"請(qǐng)輸入另一個(gè)正整數(shù):";cin>>j;x=fn1(i,j);y=i*j/x;cout<<i<<"和"<<j<<"的最大公約數(shù)是:"<<x<<endl;cout<<i<<"和"<<j<<"的最小公倍數(shù)是:"<<y<<endl;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第22頁。intfn1(inti,intj)C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第22頁。{inttemp;if(i<j){temp=i;i=j;j=i;}while(j!=0){temp=i%j;i=j;j=temp;}returni;}程序運(yùn)行輸出:請(qǐng)輸入一個(gè)正整數(shù):120請(qǐng)輸入另一個(gè)正整數(shù):72120和72的最大公約數(shù)是:24120和72的最小公倍數(shù)是:360C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第23頁。3-12在主程序中提示輸入整數(shù)n,編寫函數(shù)用遞歸的方法求1+2+…+nC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第23頁。解:#include<iostream.h>#include<math.h>intfn1(inti);voidmain(){inti;cout<<"請(qǐng)輸入一個(gè)正整數(shù):";cin>>i;cout<<"從1累加到"<<i<<"的和為:"<<fn1(i)<<endl;}intfn1(inti){if(i==1)return1;elsereturni+fn1(i-1);}程序運(yùn)行輸出:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第24頁。請(qǐng)輸入一個(gè)正整數(shù):100C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第24頁。從1累加到100的和為:50503-14用遞歸的方法編寫函數(shù)求Fibonacci級(jí)數(shù),公式為fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1;觀察遞歸調(diào)用的過程。解:源程序見"實(shí)驗(yàn)指導(dǎo)"部分實(shí)驗(yàn)三3-15用遞歸的方法編寫函數(shù)求n階勒讓德多項(xiàng)式的值,在主程序中實(shí)現(xiàn)輸入、輸出;解:#include<iostream.h>floatp(intn,intx);voidmain(){intn,x;cout<<"請(qǐng)輸入正整數(shù)n:";cin>>n;cout<<"請(qǐng)輸入正整數(shù)x:";cin>>x;cout<<"n="<<n<<endl;cout<<"x="<<x<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第25頁。cout<<"P"<<n<<"("<<x<<")="<<p(n,x)<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第25頁。}floatp(intn,intx){if(n==0)return1;elseif(n==1)returnx;elsereturn((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;}程序運(yùn)行輸出:請(qǐng)輸入正整數(shù)n:1請(qǐng)輸入正整數(shù)x:2n=1x=2P1(2)=2請(qǐng)輸入正整數(shù)n:3請(qǐng)輸入正整數(shù)x:4n=3C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第26頁。x=4C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第26頁。P3(4)=154第四章類4-9設(shè)計(jì)并測(cè)試一個(gè)名為Rectangle的矩形類,其屬性為矩形的左下角與右上角兩個(gè)點(diǎn)的坐標(biāo),能計(jì)算矩形的面積。解:源程序:#include<iostream.h>classRectangle{public:Rectangle(inttop,intleft,intbottom,intright);~Rectangle(){}intGetTop()const{returnitsTop;}intGetLeft()const{returnitsLeft;}intGetBottom()const{returnitsBottom;}intGetRight()const{returnitsRight;}voidSetTop(inttop){itsTop=top;}voidSetLeft(intleft){itsLeft=left;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第27頁。voidSetBottom(intbottom){itsBottom=bottom;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第27頁。voidSetRight(intright){itsRight=right;}intGetArea()const;private:intitsTop;intitsLeft;intitsBottom;intitsRight;};Rectangle::Rectangle(inttop,intleft,intbottom,intright){itsTop=top;itsLeft=left;itsBottom=bottom;itsRight=right;}intRectangle::GetArea()const{intWidth=itsRight-itsLeft;intHeight=itsTop-itsBottom;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第28頁。return(Width*Height);C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第28頁。}intmain(){RectangleMyRectangle(100,20,50,80);intArea=MyRectangle.GetArea();cout<<"Area:"<<Area<<"\n";return0;}程序運(yùn)行輸出:Area:3000UpperLeftXCoordinate:204-11定義一個(gè)矩形類,有長(zhǎng)、寬兩個(gè)屬性,有成員函數(shù)計(jì)算矩形的面積解:#include<iostream.h>classRectangle{public:Rectangle(floatlen,floatwidth){Length=len;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第29頁。Width=width;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第29頁。}~Rectangle(){};floatGetArea(){returnLength*Width;}floatGetLength(){returnLength;}floatGetWidth(){returnWidth;}private:floatLength;floatWidth;};voidmain(){floatlength,width;cout<<"請(qǐng)輸入矩形的長(zhǎng)度:";cin>>length;cout<<"請(qǐng)輸入矩形的寬度:";cin>>width;Rectangler(length,width);cout<<"長(zhǎng)為"<<length<<"寬為"<<width<<"的矩形的面積為:"<<r.GetArea()<<endl;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第30頁。程序運(yùn)行輸出:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第30頁。請(qǐng)輸入矩形的長(zhǎng)度:5請(qǐng)輸入矩形的寬度:4長(zhǎng)為5寬為4的矩形的面積為:204-12定義一個(gè)"數(shù)據(jù)類型"datatype類,能處理包含字符型、整型、浮點(diǎn)型三種類型的數(shù)據(jù),給出其構(gòu)造函數(shù)。解:#include<iostream.h>classdatatype{enum{character,integer,floating_point}vartype;union{charc;inti;floatf;};public:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第31頁。datatype(charch){C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第31頁。vartype=character;c=ch;}datatype(intii){vartype=integer;i=ii;}datatype(floatff){vartype=floating_point;f=ff;}voidprint();};voiddatatype::print(){switch(vartype){casecharacter:cout<<"字符型:"<<c<<endl;break;caseinteger:cout<<"整型:"<<i<<endl;break;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第32頁。casefloating_point:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第32頁。cout<<"浮點(diǎn)型:"<<f<<endl;break;}}voidmain(){datatypeA('c'),B(12),C(1.44F);A.print();B.print();C.print();}程序運(yùn)行輸出:字符型:c整型:12浮點(diǎn)型:1.444-13定義一個(gè)Circle類,有數(shù)據(jù)成員半徑Radius,成員函數(shù)GetArea(),計(jì)算圓的面積,構(gòu)造一個(gè)Circle的對(duì)象進(jìn)行測(cè)試。解:#include<iostream.h>classCircle{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第33頁。public:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第33頁。Circle(floatradius){Radius=radius;}~Circle(){}floatGetArea(){return3.14*Radius*Radius;}private:floatRadius;};voidmain(){floatradius;cout<<"請(qǐng)輸入圓的半徑:";cin>>radius;Circlep(radius);cout<<"半徑為"<<radius<<"的圓的面積為:"<<p.GetArea()<<endl;}程序運(yùn)行輸出:請(qǐng)輸入圓的半徑:5半徑為5的圓的面積為:78.5C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第34頁。4-14定義一個(gè)tree類,有成員ages,成員函數(shù)grow(intyears)對(duì)ages加上years,age()顯示tree對(duì)象的ages的值。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第34頁。解:#include<iostream.h>classTree{intages;public:Tree(intn=0);~Tree();voidgrow(intyears);voidage();};Tree::Tree(intn){ages=n;}Tree::~Tree(){age();}voidTree::grow(intyears){ages+=years;}voidTree::age(){C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第35頁。cout<<"這棵樹的年齡為"<<ages<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第35頁。}voidmain(){Treet(12);t.age();t.grow(4);}程序運(yùn)行輸出:這棵樹的年齡為12這棵樹的年齡為16第五章C++程序的基本結(jié)構(gòu)5-12在函數(shù)fn1()中定義一個(gè)靜態(tài)變量n,fn1()中對(duì)n的值加1,在主函數(shù)中,調(diào)用fn1()十次,顯示n的值。解:#include<iostream.h>voidfn1(){staticintn=0;n++;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第36頁。cout<<"n的值為"<<n<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第36頁。}voidmain(){for(inti=0;i<10;i++)fn1();}程序運(yùn)行輸出:n的值為1n的值為2n的值為3n的值為4n的值為5n的值為6n的值為7n的值為8n的值為9n的值為10C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第37頁。5-13定義類X、Y、Z,函數(shù)h(X*),滿足:類X有私有成員i,Y的成員函數(shù)g(X*)是X的友元函數(shù),實(shí)現(xiàn)對(duì)X的成員i加1,類Z是類X的友元類,其成員函數(shù)f(X*)實(shí)現(xiàn)對(duì)X的成員i加5,函數(shù)h(X*)是X的友元函數(shù),實(shí)現(xiàn)對(duì)X的成員i加10。在一個(gè)文件中定義和實(shí)現(xiàn)類,在另一個(gè)文件中實(shí)現(xiàn)main()函數(shù)。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第37頁。解:#include"my_x_y_z.h"voidmain(){Xx;Zz;z.f(&x);}//my_x_y_z.h文件#ifndefMY_X_Y_Z_HclassX;classY{voidg(X*);};classX{private:inti;public:C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第38頁。X(){i=0;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第38頁。friendvoidh(X*);friendvoidY::g(X*);friendclassZ;};voidh(X*x){x->i=+10;}voidY::g(X*x){x->i++;}classZ{public:voidf(X*x){x->i+=5;}};#endif//MY_X_Y_Z_H程序運(yùn)行輸出:無5-14定義Boat與Car兩個(gè)類,二者都有weight屬性,定義二者的一個(gè)友元函數(shù)totalWeight(),計(jì)算二者的重量和。解:源程序:#include<iostream.h>classBoat;classCar{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第39頁。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第39頁。intweight;public:Car(intj){weight=j;}friendinttotalWeight(Car&aCar,Boat&aBoat);};classBoat{private:intweight;public:Boat(intj){weight=j;}friendinttotalWeight(Car&aCar,Boat&aBoat);};inttotalWeight(Car&aCar,Boat&aBoat){returnaCar.weight+aBoat.weight;}voidmain(){C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第40頁。Carc1(4);C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第40頁。Boatb1(5);cout<<totalWeight(c1,b1)<<endl;}程序運(yùn)行輸出:9第六章數(shù)組、指針與字符串6-1數(shù)組A[10][5][15]一共有多少個(gè)元素?解:10×5×15=750個(gè)元素1-2在數(shù)組A[20]中第一個(gè)元素和最后一個(gè)元素是哪一個(gè)?解:第一個(gè)元素是A[0],最后一個(gè)元素是A[19]。6-3用一條語句定義一個(gè)有五個(gè)元素的整型數(shù)組,并依次賦予1~5的初值。解:源程序:intIntegerArray[5]={1,2,3,4,5};或:intIntegerArray[]={1,2,3,4,5};C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第41頁。6-7什么叫做指針?指針中儲(chǔ)存的地址和這個(gè)地址中的值有何區(qū)別?C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第41頁。解:指針是一種數(shù)據(jù)類型,具有指針類型的變量稱為指針變量。指針變量存放的是另外一個(gè)對(duì)象的地址,這個(gè)地址中的值就是另一個(gè)對(duì)象的內(nèi)容。6-10定義一個(gè)有五個(gè)元素的整型數(shù)組,在程序中提示用戶輸入元素值,最后再在屏幕上顯示出來。解:源程序:#include<iostream.h>intmain(){intmyArray[5];inti;for(i=0;i<5;i++){cout<<"ValueformyArray["<<i<<"]:";cin>>myArray[i];}for(i=0;i<5;i++)cout<<i<<":"<<myArray[i]<<"\n";C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第42頁。return0;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第42頁。}程序運(yùn)行輸出:ValueformyArray[0]:2ValueformyArray[1]:5ValueformyArray[2]:7ValueformyArray[3]:8ValueformyArray[4]:30:21:52:73:84:36-11引用和指針有何區(qū)別?何時(shí)只能使用指針而不能使用引用?解:引用是一個(gè)別名,不能為NULL值,不能被重新分配;指針是一個(gè)存放地址的變量。當(dāng)需要對(duì)變量重新賦以另外的地址或賦值為NULL時(shí)只能使用指針。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第43頁。6-12聲明下列指針:float類型變量的指針pFloat,char類型的指針pString和structcustomer型的指針prec。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第43頁。解:float*pfloat;char*pString;structcustomer*prec;6-13給定float類型的指針fp,寫出顯示fp所指向的值的輸出流語句。解:cout<<"Value=="<<*fp;6-16定義一個(gè)整型變量a,一個(gè)整型指針p,一個(gè)引用r,通過p把a(bǔ)的值改為10,通過r把a(bǔ)的值改為5解:voidmain(){inta;int*p=&a;int&r=a;*p=10;r=5;}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第44頁。6-21編寫一個(gè)函數(shù),統(tǒng)計(jì)一個(gè)英文句子中字母的個(gè)數(shù),在主程序中實(shí)現(xiàn)輸入、輸出。C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第44頁。解:源程序:#include<iostream.h>#include<stdio.h>intcount(char*str){inti,num=0;for(i=0;str[i];i++){if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))num++;}returnnum;}voidmain(){chartext[100];cout<<"輸入一個(gè)英語句子:"<<endl;gets(text);C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第45頁。cout<<"這個(gè)句子里有"<<count(text)<<"個(gè)字母。"<<endl;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第45頁。}程序運(yùn)行輸出:輸入一個(gè)英語句子:Itisveryinteresting!這個(gè)句子里有19個(gè)字母。6-22編寫函數(shù)intindex(char*s,char*t),返回字符串t在字符串s中出現(xiàn)的最左邊的位置,如果在s中沒有與t匹配的子串,就返回-1。解:源程序:#include<iostream.h>intindex(char*s,char*t){inti,j,k;for(i=0;s[i]!='\0';i++){for(j=i,k=0;t[k]!='\0'&&s[j]==t[k];j++,k++);if(t[k]=='\0')returni;C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第46頁。}C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第46頁。return-1;}voidmain(){intn;charstr1[20],str2[20];cout<<"輸入一個(gè)英語單詞:";cin>>str1;cout<<"輸入另一個(gè)英語單詞:";cin>>str2;n=index(str1,str2);if(n>0)cout<<str2<<"在"<<str1<<"中左起第"<<n+1<<"個(gè)位置。"<<endl;elsecout<<str2<<"不在"<<str1<<"中。"<<endl;}程序運(yùn)行輸出:輸入一個(gè)英語單詞:abcdefghC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第47頁。輸入另一個(gè)英語單詞:deC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第47頁。de在abcdefghijk中左起第4個(gè)位置。第七章繼承與派生7-7定義一個(gè)基類,構(gòu)造其派生類,在構(gòu)造函數(shù)中輸出提示信息,觀察構(gòu)造函數(shù)的執(zhí)行情況。解:#include<iostream.h>classBaseClass{public:BaseClass();};BaseClass::BaseClass(){cout<<"構(gòu)造基類對(duì)象!"<<endl;}classDerivedClass:publicBaseClass{public:DerivedClass();};C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第48頁。DerivedClass::DerivedClass()C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第48頁。{cout<<"構(gòu)造派生類對(duì)象!"<<endl;}voidmain(){DerivedClassd;}程序運(yùn)行輸出:構(gòu)造基類對(duì)象!構(gòu)造派生類對(duì)象!7-8定義一個(gè)Document類,有name成員變量,從Document派生出Book類,增加PageCount變量。解:#include<iostream.h>#include<string.h>classDocument{public:Document(){};Document(char*name);C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第49頁。char*Name;//Documentname.C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第49頁。voidPrintNameOf();//Printname.};Document::Document(char*name){Name=newchar[strlen(name)+1];strcpy(Name,name);};voidDocument::PrintNameOf(){cout<<Name<<endl;}classBook:publicDocument{public:Book(char*name,longpagecount);voidPrintNameOf();private:longPageCount;};Book::Book(char*name,longpagecount):Document(name)C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第50頁。{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第50頁。PageCount=pagecount;}voidBook::PrintNameOf(){cout<<"Nameofbook:";Document::PrintNameOf();}voidmain(){Documenta("Document1");Bookb("Book1",100);b.PrintNameOf();}程序運(yùn)行輸出:Nameofbook:Book17-9定義基類Base,有兩個(gè)共有成員函數(shù)fn1()、fn2(),私有派生出Derived類,如果想在Derived類的對(duì)象中使用基類函數(shù)fn1(),應(yīng)怎么辦?解:classBaseC語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第51頁。{C語言程序設(shè)計(jì)課后答案全文共57頁,當(dāng)前為第51頁。public:intfn1()const{return1;}intfn2()const{return2;}};classDerived:privateBase
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程造價(jià)全過程跟蹤審計(jì)咨詢合同范本
- 冷庫服務(wù)安裝合同范本
- 企業(yè)購買電腦合同范本
- 廠長(zhǎng)和下屬分房合同范本
- 中美服裝合同范本
- 合作舉辦演出合同范本
- 債務(wù)繼承合同范本
- 叉車以租代售合同范本
- 單人房間 出租合同范本
- 名額買賣合同范例
- 高速公路改擴(kuò)建工程路基標(biāo)準(zhǔn)化
- 海關(guān)監(jiān)管場(chǎng)所投資建設(shè)項(xiàng)目可行性研究報(bào)告-廣州中撰咨詢
- 六氟化硫(SF6)氣體的管理及充注質(zhì)量檢查表
- 一年級(jí)勞動(dòng)課教案設(shè)計(jì)
- Windows Azure云平臺(tái)基本操作手冊(cè)
- 中南大學(xué)-鋼結(jié)構(gòu)門式鋼架廠房畢業(yè)設(shè)計(jì)
- 百家姓精品資源課件
- 醫(yī)院感染控制原則
- T∕ASC 17-2021 電動(dòng)汽車充換電設(shè)施系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)
- 水閘設(shè)計(jì)步驟計(jì)算書(多表)
- 智慧安監(jiān)重大危險(xiǎn)源監(jiān)管平臺(tái)解決方案
評(píng)論
0/150
提交評(píng)論