第一范文网 - 专业文章范例文档资料分享平台

《c++程序设计》谭浩强课后习题答案及解析 

来源:用户分享 时间:2025/6/4 4:19:38 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.

else

cout<<\ else if (a

cout<<\ else

cout<<\ cout<

3.9题另一解

#include using namespace std; int main ( )

{int a,b,c,temp,max ;

cout<<\ cin>>a>>b>>c;

temp=(a>b)?a:b; /* 将a和b中的大者存入temp中 */

max=(temp>c)?temp:c; /* 将a和b中的大者与c比较,最大者存入max */

cout<<\ return 0; }

3.10题

#include using namespace std; int main ( ) {int x,y;

cout<<\ cin>>x;

if (x<1) {y=x;

cout<<\ }

else if (x<10) // 1≤x<10 {y=2*x-1;

cout<<\ }

else // x≥10 {y=3*x-11;

cout<<\ }

cout<

.

.

return 0; }

3.11题

#include using namespace std; int main () {float score; char grade;

cout<<\ cin>>score;

while (score>100||score<0)

{cout<<\ cin>>score; }

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'; }

cout<<\ return 0; }

3.12题

#include using namespace std; int main () {long int num;

int indiv,ten,hundred,thousand,ten_thousand,place;

/*分别代表个位,十位,百位,千位,万位和位数 */

cout<<\ cin>>num; if (num>9999) place=5;

else if (num>999) place=4; else if (num>99) place=3; else if (num>9) place=2; else place=1;

.

.

cout<<\ //计算各位数字

ten_thousand=num/10000;

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

hundred=(int)(num-ten_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); cout<<\ switch(place) {case

5:cout<

case 4:cout<

case 3:cout<

case 2:cout<

case 1:cout<

return 0; } 3.13题

#include using namespace std; int main ()

{ long i; //i为利润 float bonus,bon1,bon2,bon4,bon6,bon10;

bon1=100000*0.1; //利润为10万元时的奖金 bon2=bon1+100000*0.075; //利润为20万元时的奖金 bon4=bon2+100000*0.05; //利润为40万元时的奖金 bon6=bon4+100000*0.03; //利润为60万元时的奖金

.

.

bon10=bon6+400000*0.015; //利润为100万元时的奖金 cout<<\ cin>>i;

if (i<=100000)

bonus=i*0.1; //利润在10万元以按10%提成奖金 else if (i<=200000)

bonus=bon1+(i-100000)*0.075; //利润在10万元至20万时的奖金 else if (i<=400000)

bonus=bon2+(i-200000)*0.05; //利润在20万元至40万时的奖金 else if (i<=600000)

bonus=bon4+(i-400000)*0.03; //利润在40万元至60万时的奖金 else if (i<=1000000)

bonus=bon6+(i-600000)*0.015; //利润在60万元至100万时的奖金 else

bonus=bon10+(i-1000000)*0.01; //利润在100万元以上时的奖金 cout<<\ return 0; }

3.13题另一解

#include using namespace std; int main () {long i;

float bonus,bon1,bon2,bon4,bon6,bon10; int c;

bon1=100000*0.1;

bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; cout<<\ cin>>i;

c=i/100000; if (c>10) c=10; switch(c)

{case 0: bonus=i*0.1; break;

case 1: bonus=bon1+(i-100000)*0.075; break; case 2:

case 3: bonus=bon2+(i-200000)*0.05;break; case 4:

case 5: 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=bon10+(i-1000000)*0.01; }

cout<<\ return 0; }

3.14题

#include using namespace std; int main () {int t,a,b,c,d;

cout<<\ cin>>a>>b>>c>>d;

cout<<\ if (a>b)

{t=a;a=b;b=t;} if (a>c)

{t=a; a=c; c=t;} if (a>d)

{t=a; a=d; d=t;} if (b>c)

{t=b; b=c; c=t;} if (b>d)

{t=b; b=d; d=t;} if (c>d)

{t=c; c=d; d=t;}

cout<<\

cout<

3.15题

#include using namespace std; int main ()

{int p,r,n,m,temp;

cout<<\ cin>>n>>m;

if (n

m=temp; //把大数放在n中, 小数放在m中 }

p=n*m; //先将n和m的乘积保存在p中, 以便求最小公倍数时用 while (m!=0) //求n和m的最大公约数

.

《c++程序设计》谭浩强课后习题答案及解析 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4tr8n37guk79ew80o94h77xpo584e200qvv_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top