 
- UID
- 852722
|

第五章 选择结构程序设计
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)
{Case5 rintf("%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;
Case4 rintf("%D,%D,%D,%D,Thousand,Hundred,Ten,Indiv);
Printf("
反序数字为:");
Printf("%D%D%D%D
",Indiv,Ten,Hundred,Thousand);
Break;
Case3 rintf("%D,%D,%D",Hundred,Ten,Indiv);
Printf("
反序数字为:");
Printf("%D%D%D
",Indiv,Ten,Hundred);
Break;
Case2 rintf("%D,%D",Ten,Indiv);
Printf("
反序数字为:");
Printf("%D%D
",Indiv,Ten);
Break;
Case1 rintf("%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);
} |
|