C++面向?qū)ο蟪绦蛟O(shè)計課后習(xí)題答案1~14章_第1頁
C++面向?qū)ο蟪绦蛟O(shè)計課后習(xí)題答案1~14章_第2頁
C++面向?qū)ο蟪绦蛟O(shè)計課后習(xí)題答案1~14章_第3頁
C++面向?qū)ο蟪绦蛟O(shè)計課后習(xí)題答案1~14章_第4頁
C++面向?qū)ο蟪绦蛟O(shè)計課后習(xí)題答案1~14章_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第一章

1-5>#include<iostream>1-8、include<iostream>

usingnamespacestd;usingnamespacestd;

intmain()intmain()

({

cout?"This"?"is";inta,b,c;

cout?"a"?HC++";cin?a?b;

cout?Hprogram.";c=a+b;

return0;cout<<"a+b="?a+b?endl;

)return0;

1-6>#include<iostream>)

usingnamespacestd;1-9、include<iostream>

intmain()usingnamespacestd;

(intmain()

inta,b,c;(

a=10;inta,b,c;

b=23;intadd(intx,inty);

c=a+b;cin?a?b;

cout?"a+b=";c=add(a,b);

cout?c;cout?"a+b="?c?endl;

cout?endl;return0;

return0;}

)

l-7#include<iostream>intadd(intxjnty)

usingnamespacestd;{intz;

intmain()z=x+y;

(return(z);

inta,b,c;)

intf(intx,inty,intz);

第一早

cin?a?b?c;

c=f(a,bzc);2-3#include<iostream>

cout?c?endl;usingnamespacestd;

return0;intmain()

,,,,,,,,

){charcl=a/c2='b/c3=c/c4=\101',c5=\116;

intf(intxjnty,intz)cout<<cl?c2?c3?,\n,;

(cout?"\t\b"?c4?'\t,?c5?,\n';

intm;return0;

if(x<y)m=x;)

elsem=y;2-4、#include<iostream>

if(z<m)m=z;usingnamespacestd;

return(m);intmain()

,,,,,

){charcl='C/c2=+zc3=+;

cout?"lsay:\""?cl?c2?c3?,\"';

cout?"\t\t"?"Hesays:\"C++isvery

interesting!、"""'\n';?setprecision(2);

return0;cout?"l="?setw(10)?l?endl;

}cout?"s="?setw(10)?s?endl;

2-7>ttinclude<iostream>cout<<"sq="?setw(10)?sq?endl;

usingnamespacestd;cout?"vq="?setw(10)?vq?endl;

intmain()cout?,,vz="?setw(10)?vz?endl;

{inti,j,m,n;return0;

i=8;)

j=io;3-3、include<iostream>

m=++i+j++;usingnamespacestd;

n=(++i)+(++j)+m;intmain()

cout?i?,\t'?j?,\t,?m?'\t'?n?endl;{floatc,f;

return0;cout<<“請輸入一個華氏溫度:“;

}cin?f;

2-8>include<iostream>c=(5.0^.0)*(f-32);〃注意5和9要

usingnamespacestd;用實型表示,否則5/9值為0

intmain()coutvv"攝氏溫度為:"<<c<<endl;

{charcl='C'/c2='h'zc3='i'zc4='n',c5='a';return0;

cl+=4;};

c2+=4;3-4、#include<iostream>

c3+=4;usingnamespacestd;

c4+=4;intmain()

c5+=4;{charcl,c2;

cout?"passwordcoutv〈”請輸入兩個字符01,02:";

is:,,?cl?c2?c3?c4?c5?endl;cl=getchar();〃將輸入的第一個字

return0;符賦給C1

}c2=getchar();〃將輸入的第二個字

第三章符賦給C2

3-2、#include<iostream>cout<<”用putchar函數(shù)輸出結(jié)果為:“;

#include<iomanip>putchar(cl);

usingnamespacestd;putchar(c2);

intmain()cout?endl;

(“用語句輸出結(jié)果為:“;

{floath,rj,szsq,vq,vz;cout<cout

constfloatpi=3.1415926;cout?cl?c2?endl;

cout?"pleaseenterr,h:u;return0;

cin?r?h;)

l=2*pi*r;3-4-1、#include<iostream>

s=r*r*pi;usingnamespacestd;

sq=4*pi*r*r;intmain()

vq=3.O/4.O*pi*r*r*r;{charcl,c2;

vz=pi*r*r*h;cout<<"請輸入兩個字符d,c2:";

cl=getchar();〃將輸入的第一個字

cout?setiosflags(ios::fixed)?setiosflags(ios::符賦給cl

right)c2=getchar();〃將輸入的第二個字

符賦給c2cout?"max="?c;

cout?"fflputchar函數(shù)輸出結(jié)果為:“;else

putchar(cl);cout?"max="?b;

putchar(44);elseif(a<c)

putchar(c2);cout?"max="?c;

cout?endl;else

cout<<“用cout語句輸出結(jié)果為:";cout?"max="?a;

cout?cl?"/"?c2?endl;cout?endl;

return0;return0;

))

3-5、#include<iostream>3?9-2、#include<iostream>

usingnamespacestd;usingnamespacestd;

intmain()intmain()

{charcl,c2;{inta,b,c,tempzmax;

intilJ2;〃定義為整型cout?"pleaseenterthreeinteger

numbers:";

cout<<“請輸入兩個整數(shù)il,i2:";cin?a?b?c;

cin?il?i2;temp=(a>b)?a:b;/*

cl=il;將a和b中的大者存入temp中*/

c2=i2;max=(temp>c)?temp:c;/*

cout?"按字符輸出結(jié)果為:,將a和b中的大者與c比較,最大者存入

"?c2?endl;max*/

return0;cout?"max="<<max?endl;

)return0;

3-8、include<iostream>}

usingnamespacestd;3-10>#include<iostream>

intmain()usingnamespacestd;

{inta=3,b=4zc=5zx,y;intmain()

cout?(a+b>c&&b==c)?endl;{intx,y;

cout?(a||b+c&&b-c)?endl;cout?"enterx:";

cout?(!(a>b)&&>c||l)?endl;cin?x;

cout?(!(x=a)&&(y=b)&&0)?endl;if(x<l)

cout?(!(a+b)+c-l&&b+c/2)?endl;{y=x;

return0;cout?"x="?x?"/y=x="?y;

}}

3-9-1#include<iostream>elseif(x<10)//1

usingnamespacestd;<xV10

intmain(){y=2*x-l;

{inta,b,c;cout?"x="?x?",y=2*x-l="?y;

cout?"pleaseenterthreeinteger)

numbers:";else

cin?a?b?c;//x>10

if(a<b){y=3*x-ll;

if(b<c)cout?"x="?x?",

y=3*x-ll="?y;elseif(num>99)

}place=3;

cout?endl;elseif(num>9)

return0;place=2;

)elseplace=l;

3-ll>#include<iostream>cout?"place="?place?endl;

usingnamespacestd;〃計算各位數(shù)字

intmain()ten_thousand=num/10000;

{floatscore;

chargrade;thousand=(int)(num-ten_thousand*10000)/l

cout?"pleaseenterscoreofstudent:";000;

cin?score;

while(score>100||score<0)hundred=(int)(num-ten__thousand*10000-tho

{cout?"dataerror,enterdataagain.";usand*1000)/100;

cin?score;

)ten=(int)(num-ten_thousand*10000-thousan

switch(int(score/10))d*1000-hundred*100)/10;

{case10:

case9:grade='A';break;indiv=(int)(num-ten_thousand*10000-thousa

case8:grade='B';break;nd*1000-hundred*100-ten*10);

case7:grade='C*;break;cout?"originalorder:";

case6:grade='D';break;switch(place)

default:grade='E';{case

)5:cout?ten_thousand?,7,?thousand?'7,<

cout?"scoreis"?score?",gradeis<hundred?"z"?ten?"z"?indiv?endl;

H?grade?endl;cout?"reverseorder:";

return0;

)cout?indiv?ten?hundred?thousand?ten

3-12>#include<iostream>_thousand?endl;

usingnamespacestd;break;

intmain()case

,,,

{longintnum;4:cout?thousand?"/?hundred?"/?ten

int?"/"?indiv?endl;

indiv,ten,hundredzthousand,ten_thousand,placout?"reverseorder:";

ce;

/*cout?indiv?ten?hundred?thousand?en

分別代表個位,十位,百位,千位,萬位和位數(shù)dl;

*/break;

cout?"enteraninteger(0~99999):";case

,,

cin?num;3:cout?hundred?/"?ten?"/"?indiv?en

if(num>9999)dl;

place=5;cout?"reverseorder:";

elseif(num>999)cout?indiv?ten?hundred?endl;

place=4;break;

case2:cout?ten?",,,?indiv?endl;else

cout?Hreverseorder:";bonus=bonl0+(i-1000000)*0.01;//

cout?indiv?ten?endl;利潤在100萬元以上時的獎金

break;cout?"bonus="?bonus?endl;

casel:cout?indiv?endl;return0;

cout?"reverseorder:";)

cout?indiv?endl;3-13-2、#include<iostream>

break;usingnamespacestd;

)intmain()

return0;{longi;

}floatbonus,bonl,bon2,bon4,bon6,bonl0;

3-13-l>#include<iostream>intc;

usingnamespacestd;bonl=100000*0.1;

intmain()bon2=bonl+100000*0.075;

{longi;//i為利潤bon4=bon2+200000*0.05;

floatbon6=bon4+200000*0.03;

bonus,bonLbon2,bon4,bon6,bonlO;bonl0=bon6+400000*0.015;

bonl=100000*0.1;〃利潤cout?"enteri:";

為10萬元時的獎金cin?i;

bon2=bonl+100000*0.075;〃利潤c=i/100000;

為20萬元時的獎金if(O10)c=10;

bon4=bon2+100000*0.05;〃利潤switch(c)

為40萬元時的獎金{case0:bonus=i*0.1;break;

bon6=bon4+100000*0.03;〃利潤case1:bonus=bonl+(j-100000)*0.075;

為60萬元時的獎金break;

bonl0=bon6+400000*0.015;〃利潤case2:

為100萬元時的獎金case3:

cout?"enteri:";bonus=bon2+(i-200000)*0.05;break;

cin?i;case4:

if(i<=100000)case5:

bonus=i*0.1;bonus=bon4+(i-400000)*0.03;break;

〃利潤在10萬元以內(nèi)按10%提成獎金case6:

elseif(i<=200000)case7:

bonus=bonl+(i-100000)*0.075;//case8:

利潤在10萬元至20萬時的獎金case9:bonus=bon6+(i-600000)*0.015;

elseif(i<=400000)break;

bonus=bon2+(i-200000)*0.05;//case10:bonus=bonl0+(i-1000000)*0.01;

利潤在20萬元至40萬時的獎金)

elseif(i<=600000)cout?nbonus="?bonus?endl;

bonus=bon4+(i-400000)*0.03;//return0;

利潤在40萬元至60萬時的獎金}

elseif(i<=1000000)3-14>#include<iostream>

bonus=bon6+(i-600000)*0.015;//usingnamespacestd;

利潤在60萬元至100萬時的獎金intmain()

{intt,a,b,c,d;cout?"LCD="?p/n?endl;〃P是

cout?"enterfournumbers:";原來兩個整數(shù)的乘積

cin?a?b?c?d;return0;

,,

cout?"a="?a?",b="?b?,)

,,,、

c=?c?'/d="?d?endl;3-16#include<iostream>

if(a>b)usingnamespacestd;

{t=a;a=b;b=t;}intmain()

if(a>c){charc;

{t=a;a=c;c=t;}intletters=0,space=0,digit=0,other=0;

if(a>d)cout?"enteroneline::H?endl;

{t=a;a=d;d=t;}while((c=getchar())!='\n')

if(b>c){if(c>='a'&&c<='z'||c>='A'&&c<='Z")

{t=b;b=c;c=t;}letters++;

if(b>d)elseif(c=='')

{t=b;b=d;d=t;}space++;

if(c>d)elseif(c>='0'&&c<='9')

{t=c;c=d;d=t;}digit++;

cout?"thesortedsequence:"?endl;else

cout?a?","?b?","?c?","?d?endl;other++;

return0;)

,,

)cout?"letter:?letters?"/

,,,,

3-15>#include<iostream>space:"?space?/digit:?digit?"/

usingnamespacestd;other:"?other?endl;

intmain()return0;

{intpj,n,m,temp;)

cout?"pleaseentertwopositiveinteger3-17、#include<iostream>

numbersn,m:";usingnamespacestd;

cin?n?m;intmain()

if(n<m){inta,n,i=l/sn=0,tn=0;

{temp=n;cout?"a,n=:";

n=m;cin?a?n;

m=temp;〃把大數(shù)while(i<=n)

放在n中,小數(shù)放在m中{tn=tn+a;〃賦值后的tn為i個a

)組成數(shù)的值

p=n*m;〃先將n和sn=sn+tn;〃賦值后的sn為多項

m的乘積保存在p中,以便求最小公倍數(shù)時式前i項之和

用a=a*10;

while(m!=0)〃求n和m++i;

的最大公約數(shù)}

{r=n%m;cout?"a+aa+aaa+...="?sn?endl;

n=m;return0;

m=r;)

}3-18、#include<iostream>

cout?"HCF="?n?endl;usingnamespacestd;

intmain()新找到一個因子

{floats=0,t=l;s=s-i;〃s減去已找:到

intn;的因子,s的新值是尚未求出的因子之和

for(n=l;n<=20;n++)switch(n)//將找到的因

(子賦給

t=t*n;〃求n!{case1:

s=s+t;//將各項累加kl=i;break;//找出的笫1

)個因子賦給kl

cout?"l!+2!+...+20!=n?s?endl;case2:

return0;k2=i;break;//找出的笫2

)個因子賦給k2

3-19、#include<iostream>case3:

usingnamespacestd;k3=i;break;//找出的笫3

intmain()個因子賦給k3

{inti,j,k,n;case4:

cout?"narcissusnumbersare:"?endl;k4=i;break;//找出的笫4

for(n=100;n<1000;n++)個因子賦給k4

{i=n/100;case5:

j=n/10-i*10;k5=i;break;//找出的笫5

k=n%10;個因子賦給k5

if(n==i*i*i+j*j*j+k*k*k)case6:

cout?n?"k6=i;break;//找出的笫6

)個因子賦給k6

cout?endl;case7:

return0;k7=i;break;//找出的笫7

)個因子賦給k7

3-20-1、#include<iostream>case8:

usingnamespacestd;k8=i;break;//找出的笫8

intmain()個因子賦給k8

{constintm=1000;//定義尋找范case9:

圍k9=i;break;//找出的笫9

intkl,k2,k3,k4,k5,k6,k7,k8,k9,kl0;個因子賦給k9

inti,a,n,s;case10:

for(a=2;a<=m;a++)〃a是2~1000之kl0=i;break;//找出的笫

間的整數(shù),檢查它是否為完數(shù)10個因子賦給klO

{n=0;//n用來累計)

a的因子的個數(shù)

s=a;//s用來存放if(s==0)//s=0表示全

尚未求出的因子之和,開始時等于a部因子都已找到了

for(i=l;i<a;i++)//檢查i是否為a{cout?a?"isa完數(shù)"<<endl;

的因子cout?"itsfactorsare:";

if(a%i==0)//如果i是a的if(n>l)cout?kl?"z"?l<2;//

因子n>l表示a至少有2個因子

加薪:表示

{n++;〃111,if(n>2)cout?"z"?k3;//n>2

至少有3個因子,故應(yīng)再輸出一個因子s=s-i;

if(n>3)cout?",”<<k4;//n>3表示k[n]=i;//將找到的因

至少有4個因子,故應(yīng)再輸出一個因子子賦給k[l]—k[10]

if(n>4)cout?"z"?k5;//)

以下類似if(s==0)

if(n>5)cout?"z''?k6;{cout?a?"isa完數(shù)"<<endl;

if(n>6)cout?","?k7;cout?Hitsfactorsare:";

if(n>7)cout?"z"?k8;for(i=l;i<n;i++)

H

if(n>8)cout?","?k9;cout?k[i]?";

H

if(n>9)cout?"z?klO;cout?k[n]?endl;

cout?endl?endl;)

))

)return0;

return0;)

)3-21N#include<iostream>

3-20-2>#include<iostream>usingnamespacestd;

usingnamespacestd;intmain()

intmain(){inti,t,n=20;

{intm,s,i;doublea=2,b=lzs=0;

for(m=2;m<1000;m++)for(i=l;i<=n;i++)

{s=0;{s=s+a/b;

for(i=l;i<m;i++)t=a;

if((m%i)==0)s=s+i;a=a+b;//將前一項分子與

if(s==m)分母之和作為下一項的分子

{cout?m?"isa完數(shù)"<<ench;b=t;//將前一項的分子

cout?"itsfactorsare:";作為下一項的分母

for(i=l;i<m;i++))

if(m%i==0)cout?i?"cout?"sum="?s?endl;

cout?endl;return0;

))

}3-22N#include<iostream>

return0;usingnamespacestd;

)intmain()

3-20-3#include<iostream>{intday,xl,x2;

usingnamespacestd;day=9;

intmain()x2=l;

{intk[ll];while(day>0)

inti,azn,s;{xl=(x2+l)*2;〃第1天的桃子

for(a=2;a<=1000;a++)數(shù)是第2天桃子數(shù)加1后的2倍

{n=0;x2=xl;

s=a;day-;

for(i=l;i<a;i++)}

if((a%i)==0)cout?"total="?xl?endl;

{n++;return0;

)for(i=X;i<=Z;i++)

3-23>#include<iostream>for(j='X';j<=,Z';j++)

#include<cmath>if(i!=j)

usingnamespacestd;for(k='X,;k<='Z,;k++)

intmain()if(i!=k&&j!=k)

{floatazxOzxl;if(i!='X'&&k!='X'&&k!='Z')

cout?"enterapositivenumber:";cout?"A-"?i?"

cin?a;//輸入a的值C-"?k?endl;

x0=a/2;return0;

xl=(x0+a/x0)/2;}

do第四章

{xO=xl;4-1include<iostream>

xl=(x0+a/x0)/2;usingnamespacestd;

)intmain()

while(fabs(x0-xl)>=le-5);{inthcf(intjnt);

cout?"Thesquarerootof"?a?"isintlcd(intzintjnt);

"?xl?endl;int

return0;cin?u?v;

)h=hcf(u,v);

3-24、#include<iostream>cout?"H.C.F="?h?endl;

usingnamespacestd;l=lcd(u,v,h);

intmain()cout?"L.C.D="<<l?endl;

{inti,k;return0;

for(i=0;i<=3;i++)//輸出上面}

4行*號

{for(k=0;k<=2*i;k++)inthcf(intu,intv)

cout?"*";//輸出*號{inttj;

cout?endl;〃輸出完一if(v>u)

行*號后換行{t=u;u=v;v=t;}

)while((r=u%v)!=0)

for(i=0;i<=2;i++)〃輸出下面3{u=v;

行*號v=r;}

{for(k=0;k<=4-2*i;k++)return(v);

cout?"*";//輸出*號}

cout?endl;//輸出完

一行*號后換行intlcd(intujntyjnth)

}{return(u*v/h);

return0;)

)4-2、include<iostream>

3-25>#include<iostream>#include<math.h>

usingnamespacestd;usingnamespacestd;

intmain()floatxl,x2,disc,p,q;

是的對

{charijzk;/*iaintmain()

手;j是b的對手;k是c的對手*/{voidgreater_than_zero(float,float);

voidequal_to_zero(floatzfloat);intn;

voidsmaller_than_zero(float,float);cout?Hinputaninteger:";

floata,b,c;cin?n;

cout?"inputazb,c:";if(prime(n))

cin?a?b?c;cout?n?"isaprime."?endl;

disc=b*b-4*a*c;else

cout?"root:"?endl;cout?n?"isnotaprim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論