首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

谭浩强 C语言程序设计教程(第二版)答案-4

谭浩强 C语言程序设计教程(第二版)答案-4

第五章 选择结构程序设计

5.5

解:

Main()

{

Int X,Y;

Printf("输入X:");

Scanf("%D",&X);

If(X<1)

{

Y=X;

Printf("X=%3d, Y=X=%D
",X,Y);

}

Else If(X<10)

{

Y=2*X-1;

Printf("X=%3d, Y=2*X-1=%D
",X,Y);

}

Else

{

Y=3*X-11;

Printf("X=%3d, Y=3*X-11=%D
",X,Y);

}

}



5.6

解:

Main()

{

Float Score;

Char Grade;

Printf("请输入学生成绩:");

Scanf("%F",&Score);

While(Score>100||Score<0)

{Printf("
输入有误,请重输。");

Scanf("&%F",&Score);

}

Switch((Int)(Score/10))

{Case 10;

Case9;Grade=''''A'''';Break;

Case8;Grade=''''B'''';Break;

Case7;Grade=''''C'''';Break;

Case6;Grade=''''D'''';Break;

Case5;

Case4;

Case3;

Case2;

Case1;

Case0;Grade=''''E'''';

}

Printf("成绩是%5.1f",相应的等级是%C。
",Score,Geade);

}



5.7

解:

Main()

{

Long Int Num;

Int Indiv,Gen,Hundred,Thousand,Ten_thousand,Place;

Printf("请输入一个整数(0 ~ 99999 ):");

Scanf("%1d",&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;

Printf("lace=%D
",Place);

Printf("每位数字为:");

Ten_thousand=Num/10000;

Thousand=(Int)(Num-Ten_thousand*10000)/1000;

Hundred=(Int)(Num-Ten_thousand*10000-Thousand*1000)/100;

Ten=(Int)(Num-Thn_thousand*10000-Thousand*1000-Hundred*100)/10;

Indiv=(Int)(Num-Thn_thousand*10000-Thousand*1000-Hundred*100-Ten*10);

Switch(Place)

{Case5rintf("%D,%D,%D,%D,%D",Ten_thousand,Ghousand,Hundred,Ten,Indiv);

Printf("
反序数字为:");

Printf("%D%D%D%D%D
",Indiv,Ten,Hundred,Thousand,Ten_thousand);

Break;

Case4rintf("%D,%D,%D,%D,Thousand,Hundred,Ten,Indiv);

Printf("
反序数字为:");

Printf("%D%D%D%D
",Indiv,Ten,Hundred,Thousand);

Break;

Case3rintf("%D,%D,%D",Hundred,Ten,Indiv);

Printf("
反序数字为:");

Printf("%D%D%D
",Indiv,Ten,Hundred);

Break;

Case2rintf("%D,%D",Ten,Indiv);

Printf("
反序数字为:");

Printf("%D%D
",Indiv,Ten);

Break;

Case1rintf("%D",Indiv);

Printf("
反序数字为:");

Printf("%D
",Indiv);

Break;

}



5.8

解:

Main()

{

Long I;

Float Bonus,Bon1,Bon2,Bon3,Bon4,Bon6,Bon10;

Bon1=100000*0.1;

Bon2=Bon1+100000*0.075;

Bon4=Bon2+200000*0.05;

Bon6=Bon4+200000*0.03;

Bon10=Bon6+400000*0.015;

Printf("请输入利润I:");

Scanf("%Ld",&I);

If(I<=100000)

Bonus=I*0.1;

Else If(I<=200000)

Bonus=Bon1+(I-100000)*0.075;

Else If(I<=400000)

Bonus=Bon2+(I-200000)*0.05;

Else If(I<=600000)

Bonus=Bon4+(I-400000)*0.03;

Else If(I<=1000000)

Bonus=Bon6+(I-600000)*0.015;

Else

Bonus=Bon10+(I-1000000)*0.01;

Printf("奖金是%10.2f",Bonus);

}
返回列表