谭浩强c++程序设计课后习题答案.pdf
《谭浩强c++程序设计课后习题答案.pdf》由会员分享,可在线阅读,更多相关《谭浩强c++程序设计课后习题答案.pdf(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、谭 浩 强 C+程 序 设 计 课 后 答 案 娄 警 卫第 一 章 1.5 题#include using namespace std;int main()(coutThisis;couta“C+”;coutprogram.;return 0;1.6 题#include using namespace std;int main()(int a,b,c;a=10;b=23;c=a+b;couta+b=n;coutc;coutendl;return 0;)return(m);)1.8 题 in clu d e using namespace std;int main()(int a,b,c;c
2、in a b;c=a+b;couta+b=a+bendl;return 0;)1.9 题 inclu de using namespace std;int main()(int a,b,c;int add(int x,int y);c in a b;c=add(a,b);couta+b=H c e n d l;return 0;1.7七 题 inclu de using namespace std;int main()(int a,b,c;int f(int x,int y,int z);c in a b c;c=f(a,b,c);co u t c en d l;return 0;int f(
3、int x,int y,int z)(int m;if(xy)m=x;else m=y;if(zm)m=z;int add(int xjnt y)int z;z=x+y;return(z);)2/75第 二 章 2.3 题 inclu de using namespace std;int main()ch arcl=,a,c2=,b,c3=c/c4=101,/c5=,116,;c o u t c l c 2 c 3 n,;c o u t tb c 4,t c 5,n,;return 0;)2.4 题#include using namespace std;int main()char c l=
4、,Czc2=,+,c3=+,;coutl say:,c l c 2 c 3,;coutttH e says:C+is veryinteresting!n;return 0;)2.7 题#include using namespace std;int main()inti=8;j=10;m=+i+j+;n=(+i)+(+j)+m;c o u t i t,j t,m t n e n d l;return 0;)2.8 题#include using namespace std;int main()char cl=C/c2=h,c3=T,c4=n c5=a;cl+=4;c2+=4;c3+=4;c4+
5、=4;c5+=4;coutpasswordis:c l c 2 c 3 c 4 c 5 e n d l;return 0;)第 三 章 3.2 题 include inclu de using namespace std;int main()float h,rj,s,sq,vq,vz;const float pi=3.1415926;coutplease enter r;h:;c in r h;l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;coutsetiosflags(ios:fixed)setiosflags(i
6、os:right)setprecision(2);coutl=se tw(1 0)le n d l;c o u tHs=setw(1 0)se n d l;coutsq=setw(10)sqendl;coutvq=Hsetw(1 0)vq e n d l;coutvz=setw(10)vzendl;return 0;3.3 题 inclu de using namespace std;int main()float c,f;cout“请 输 入 一 个 华 氏 温 度:“;cin f;c=(5.0/9.0)*(f-32);注 意 5 和 9要 用 实 型 表 示,否 则 5/9值 为 0cou
7、t摄 氏 温 度 为:cendl;return 0;);3/753.4 题 ttinclude using namespace std;int main()char cl,c2;cout请 输 入 两 个 字 符 cl,c2:;cl=getchar();将 输 入 的 第 一 个 字 符 赋 给 c lc2=getchar();将 输 入 的 第 二 个 字 符 赋 给 C2coutffl putchar函 数 输 出 结 果 为:;putchar(cl);putchar(c2);coutendl;coutffl cout语 句 输 出 结 果 为:;c o u t c l c 2 e n d
8、 l;return 0;)3.4 题 另 一 解 inclu de using namespace std;int main()char cl,c2;cout“请 输 入 两 个 字 符 cl,c2:;cl=getchar();将 输 入 的 第 一 个 字 符 赋 给 c lc2=getchar();将 输 入 的 第 二 个 字 符 赋 给 C2coutffl putchar函 数 输 出 结 果 为:;putchar(cl);putchar(44);putchar(c2);coutendl;cout“用 cout语 句 输 出 结 果 为:“;c o u t c l/c2 e n d l
9、;return 0;3.5 题 inclu de using namespace std;int main()char cl,c2;int il,i2;定 义 为 整 型 cout”请 输 入 两 个 整 数 c in il i2;c l=il;c2=i2;c o u t 按 字 符 输 出 结 果 为:c l,c2 e n d l;return 0;)3.8 题 inclu de using namespace std;int main()int a=3/b=4zc=5,x/y;cout(a+bc&b=c)endl;cout(a 1 1 b+c&b-c)endl;cout(!(ab)&!c|
10、l)e n d l;cout(!(x=a)&(y=b)&0)endl;cout(!(a+b)+c-l&b+c/2)endl;return 0;3.9 题 include using namespace std;int main()int a,b,c;coutplease enter three integernumbers:;c in a b c;if(ab)if(bc)coutm ax=c;elsecoutm ax=b;else if(ac)coutm ax=c;elsecoutm ax=a;coutendl;return 0;3.9题 另 一 解 4/75#include using na
11、mespace std;int main()int a,b,c,temp,max;coutplease enter three integernumbers:;c in a b c;temp=(ab)?a:b;/*将 a 和 b 中 的 大 者 存 入 tem p中*/max=(tempc)?temp:c;/*将 a 和 b 中 的 大 者 与 c 比 较,最 大 者 存 入 max*/coutmax=m axendl;return 0;3.10 题 ttinclude using namespace std;int main()int x,y;coutenter x:n;cin x;if(x
12、 l)y=x;c o u t,x=x/y=x=y;)else if(x10)/1W xV IOy=2*x-l;c o u t x=x/y=2*x-l=y;)else x 2 1 0y=3*x-ll;coutx=,x zy=3*x-ll=y;)coutendl;return 0;)3.11 题 inclu de using namespace std;int main()float score;char grade;coutplease enter score of student:;cinscore;while(score100|score0)coutdata error,enter data
13、 again.;cinscore;)switch(int(score/10)case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=E;coutscore is sc o re z grade isgradeendl;return 0;3.12 题 inclu de using namespace std;int main()long int num;intindiv,ten,hundred,thousand,ten_thousand,pl
14、ace;/*分 别 代 表 个 位,十 位,百 位,千 位,万 位 和 位 数*/coutenter an integer(099999):;cinnum;if(num9999)place=5;else if(num999)place=4;else if(num99)place=3;else if(num9)place=2;else place=l;5/75coutplace=placeendl;计 算 各 位 数 字 ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten
15、_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);coutoriginal order:;switch(place)case5:coutten_thousand,thousand,hundred/t e n/in d iv e ndl;coutreverse order:;coutindivtenhundredth
16、ousandten_thousandendl;break;case4:coutthousand/h u n d re d/,te n zindivendl;coutreverse order:;coutindivtenhundredthousandendl;break;case3:couthundred,t e n,z in d iv e ndl;coutreverse order:;coutindivtenhundredendl;break;case 2:co u t te n,in d iv en d l;coutreverse order:;coutin divtenendl;break
17、;case l:coutindivendl;coutreverse order:;coutindivendl;break;)return 0;)3.13 题#include using namespace std;int main()long i;/i 为 利 润 floatbonus,bonl,bon2,bon4,bon6,bonl0;bonl=100000*0.1;利 润 为 1 0万 元 时 的 奖 金 bon2=bonl+100000*0.075;利 润 为 2 0万 元 时 的 奖 金 bon4=bon2+100000*0.05;利 润 为 4 0万 元 时 的 奖 金 bon6=b
18、on4+100000*0.03;利 润 为 6 0万 元 时 的 奖 金 bonl0=bon6+400000*0.015;利 润 为 100万 元 时 的 奖 金 coutenter i:;cin i;if(i=100000)bonus=i*0.1;利 润 在 1 0万 元 以 内 按 10%提 成 奖 金 else if(i=200000)bonus=bonl+(i-100000)*0.075;/利 润 在 1 0万 元 至 2 0万 时 的 奖 金 else if(i=400000)bonus=bon2+(i-200000)*0.05;/利 润 在 2 0万 元 至 4 0万 时 的 奖
19、金 else if(i=600000)bonus=bon4+(i-400000)*0.03;/利 润 在 4 0万 元 至 6 0万 时 的 奖 金 else if(i=1000000)bonus=bon6+(i-600000)*0.015;/利 润 在 6 0万 元 至 100万 时 的 奖 金 elsebonus=bonl0+(i-1000000)*0.01;/利 润 在 1 0 0万 元 以 上 时 的 奖 金 6/75coutbonus=bonusendl;return 0;)3.13题 另 解 inclu de using namespace std;int main()long i
20、;float bonus,bonl,bon2,bon4,bon6,bonl0;int c;bonl=100000*0.1;bon2=bonl+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bonl0=bon6+400000*0.015;coutenter i:;cin i;c=i/100000;if(o lO)c=10;switch(c)case 0:bonus=i*0,1;break;case 1:bonus=bonl+(i-100000)*0.075;break;case 2:case3:bonus=bon2+(i-200
21、000)*0.05;break;case 4:case5:bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9:bonus=bon6+(i-600000)*0.015;break;case 10:bonus=bonl0+(i-1000000)*0.01;)c o u t,bonus=bonusendl;return 0;)3.14 题#include using namespace std;int main()int t,a,b,c,d;coutenter four numbers:;c in a b c d;c o u t
22、a=a z b=b/c=c fd=dend)if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;c o u tnthe sorted sequence:endl;c o u t a,b,d e n d l;return 0;)3.15 题 inclu de using namespace std;int main()int p,r,n,m,temp;coutplease enteinumbers n,m:n;c in n m;if(
23、nm)temp=n;n=m;m=temp;放 在 n 中,小 数 放 在)p=n*m;m 的 乘 积 保 存 在 p 中 用 while(m!=0)最 大 公 约 数 r=n%m;n=m;m=r;)coutHCF=n n e n d l;r two positive integer 把 大 数 m 中 先 将 n和,以 便 求 最 小 公 倍 数 时 求 n和 m的 7/75coutLCD=p/nendl;p 是 原 来 两 个 整 数 的 乘 积 return 0;)3.16 题 inclu de using namespace std;int main()char c;int letter
24、s=0,space=0,digit=0,other=0;coutenter one line:endl;while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;elseother+;)coutletter:,le tte rs/space:space,digit:digit,other:otherendl;return 0;3.17 题#include using namespace std;int main()int a,n,i=l,sn=Oztn=O;c o u t,a,n=:;c in a n;while(i=n)tn=tn+a;赋 值 后 的 t
25、n 为 i 个 a组 成 数 的 值 sn=sn+tn;赋 值 后 的 s n 为 多 项 式 前 i 项 之 和 a=a*10;+i;couta+aa+aaa+.=snendl;return 0;3.18 题 inclu de using namespace std;int main()float s=O,t=l;int n;for(n=l;n=20;n+)(t=t*n;求 n!s=s+t;/将 各 项 累 加)coutl!+2!+.+20!=sendl;return 0;)3.19 题#include using namespace std;int main()int i,j,k,n;co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 谭浩强 c+ 程序设计 课后 习题 答案
限制150内