1、实验 4.2 嵌套 if-else 语句及 switch 语句班级 姓名 学号 日期 成绩 一 实验目的熟练掌握嵌套 if-else 语句及 switch 语句使用方法二 本节内容嵌套 if-else 语句及 switch 语句。三 题目1 测试教材 4.3 4.42 有一函数x (x=20)编程实现:给出 x 的值,求 y 值。4 教材 p48 页 4.85 编写程序1)设计一个简单的计算器,完成两个数的加减乘除附加题:1 给一个不多于 5 位的正整数,要求:1) 求出它是几位数2) 分别输出每一位数字3) 按照逆序输出各位数字。例如:原数 123,则应输出 321void main()lo
2、ng num;int x,x1,x2,x3,x4,x5,place;scanf(“%d”,if(num9999) place=5 ;else if(num999) place=4;else if(num99) place=3;else if(num9) place=2;else place=1;printf(“place=%d”,place);x=num; x5=x%10;x=x/10; x4=x%10;x=x/10; x3=x%10;x=x/10; x2=x%10;x=x/10; x1=x%10;switch(place)case 5: printf(“%d,%d,%d,%d,%dn”,x1
3、,x2,x3,x4,x5);printf(“逆序输出:%d,%d,%d,%d,%dn”,x5,x4,x3,x2,x1);break;case 4: printf(“%d,%d,%d,%dn”,x2,x3,x4,x5);printf(“逆序输出:%d,%d,%d,%dn”,x5,x4,x3,x2);break;case 3: printf(“%d,%d,%dn”,x3,x4,x5);printf(“逆序输出:%d,%d,%dn”,x5,x4,x3);break;case 2: printf(“%d,%d,%dn”,x4,x5);printf(“逆序输出:%d,%dn”,x5,x4);break;
4、case 1: printf(“%dn”,x5);printf(“逆序输出:%dn”,x5);break;2 企业发放奖金根据利润提成,利润 I 低于或者等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元(1000001000000 时,其中低于 100 万元按照上述办法提成,高于 100 万元部分按照 1%提成。从键盘输入当月利润 I,求应发放奖金总数。要求:分别用 if 语句和 switch 语句编程。#includevoid main()long i;float bonus,bon1,bon2,bon4,bon6,bon10;int branch;bon1=10
5、0000*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”,branch=i/100000;if(branch10) branch=10;switch(branch) 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;printf(“奖金是%fn”,bonus);