上机实验 switch语句习题 答案.docx

上传人:b****3 文档编号:27546949 上传时间:2023-07-02 格式:DOCX 页数:15 大小:17.11KB
下载 相关 举报
上机实验 switch语句习题 答案.docx_第1页
第1页 / 共15页
上机实验 switch语句习题 答案.docx_第2页
第2页 / 共15页
上机实验 switch语句习题 答案.docx_第3页
第3页 / 共15页
上机实验 switch语句习题 答案.docx_第4页
第4页 / 共15页
上机实验 switch语句习题 答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

上机实验 switch语句习题 答案.docx

《上机实验 switch语句习题 答案.docx》由会员分享,可在线阅读,更多相关《上机实验 switch语句习题 答案.docx(15页珍藏版)》请在冰豆网上搜索。

上机实验 switch语句习题 答案.docx

上机实验switch语句习题答案

2.给出一个百分制的成绩,要求输出成绩等级'A','B','C','D','E'。

90分以上为'A',80~89分为'B',70~79分为'C',60z69分为'D',60分以下为'E'。

解1

#include

intmain()

{

intx,y;

cout<<"请输入学生成绩"<

cin>>x;

y=x/10;

if(x<0||x>100)

cout<<"输入错误"<

else

switch(x/10)

{

case10:

case9:

cout<<"A"<

break;

case8:

cout<<"B"<

break;

case7:

cout<<"C"<

break;

case6:

cout<<"D"<

break;

case5:

case4:

case3:

case2:

case1:

case0:

cout<<"E"<

}

return0;

}

解2:

#include

intmain()

{

intx,y;

cout<<"请输入学生成绩"<

cin>>x;

y=x/10;

if(x==100)y=9;//剔除x=103之类出现10的情况

switch(x/10)

{

case9:

cout<<"A"<

break;

case8:

cout<<"B"<

break;

case7:

cout<<"C"<

break;

case6:

cout<<"D"<

break;

case5:

case4:

case3:

case2:

case1:

case0:

cout<<"E"<

break;

default:

cout<<"输入错误"<

}

return0;

}

3、编写一个程序,当输入’S’或’s’、’T’或’t、’’C’或’c’?

时,分别转去执行计算正方形、三角形和圆的面积,分别用switch语句实现

运行实例

#include

intmain()

{

constfloatpi=3.1415926;

charch;

cout<<"请输入想计算哪种图形面积?

\n";

cout<<"\'S\'or\'s\'代表正方形,\'T\'or\'t\'代表三角形,\'C\'or\'c\'代表圆\n";

cin>>ch;

switch(ch)

{

case'S':

case's':

{

floata,area;

cout<<"请输入正方形边长";

cin>>a;

area=a*a;

cout<<"正方形面积为:

"<

break;

}

case'T':

case't':

{

floata,b,area;

cout<<"请输入三角形底和高";

cin>>a>>b;

area=a*b/2;

cout<<"三角形面积为:

"<

break;

}

case'C':

case'c':

{

floatr,area;

cout<<"请输入圆的半径";

cin>>r;

area=pi*r*r;

cout<<"圆面积为:

"<

break;

}

default:

cout<<"输入错误";

}

return0;

}

6编写一个程序,要求用户输入今天星期几,根据用户的输入判断是工作日还是周末,并显示合适的问候语。

如果输入的数字不在1~7之间,显示“请输入位于1到7之间的数”,如果输入数字为6或7,显示“周末愉快”,如果输入数字1-5,显示“工作日愉快”

#include

main()

{

intx;

cout<<"星期几的代号为:

"<<'\n'<<"星期一=1"<<'\n'<<"星期二=2"<<'\n'<<"星期三=3"<<'\n'<<"星期四=4"<<'\n'<<"星期五=5"<<'\n'<<"星期六=6"<<'\n'<<"星期日=7"<<'\n';cin>>x;

switch(x)

{

case1:

case2:

case3:

case4:

case5:

cout<<"工作日愉快"<

break;

case6:

case7:

cout<<"周末愉快"<

break;

default:

cout<<"请输入位于1到7之间的数"<

}

return0;

}

1、查询自动售货机中商品的价格,假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。

在屏幕上显示以下菜单,用户可以查询商品的价格,用户输入编号1~4,显示相应商品的价格;输入其他编号,显示价格为0。

运行实例

#include

intmain()

{

intchoice,i;

doubleprice;

cout<<"[1]Selectcrisps\n";

cout<<"[2]Selectpopcorn\n";

cout<<"[3]Selectchocolate\n";

cout<<"[4]Selectcola\n";

cout<<"Enterchoice:

";

cin>>choice;

switch(choice){

case1:

price=3.0;break;

case2:

price=2.5;break;

case3:

price=4.0;break;

case4:

price=3.5;break;

default:

price=0.0;break;

}

cout<<"price="<

return0;

}

2、输入一个形式如“操作数运算符操作数”的四则运算表达式,输出运算结果。

解1:

#include

intmain()

{

inta,b;charop;

cout<<"\n输入操作数1,运算符,操作数2:

";

cin>>a>>op>>b;

switch(op)

{

case'+':

cout<

break;

case'-':

cout<

break;

case'*':

cout<

break;

case'/':

if(b==0)

cout<<"除数不能为0";

else

cout<

d=a+b;break;

case'-':

d=a-b;break;

case'*':

d=a*b;break;

case'/':

if(b==0)

{cout<<"除数不能为0"<

return0;

}

else

d=a/b;

break;

}

cout<

return0;

}

解3:

#include

intmain()

{

cout<<"输入操作数1,运算符,操作数2"<

inta,b,d;

charop;

cin>>a>>op>>b;

if((op=='/')&&(b==0))

cout<<"除数不能为零"<

else

{

switch(op)

{

case'+':

d=a+b;break;

case'-':

d=a-b;break;

case'*':

d=a*b;break;

case'/':

d=a/b;break;

}

cout<

}

return0;

}

4、设计一个程序,根据用户输入的年、月,打印出该年、该月的天数。

解1

#include

intmain()

{intyear,month,days;

cout<<"Pleaseinputyear,month:

";

cin>>year>>month;

switch(month)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;

break;

case4:

case6:

case9:

case11:

days=30;

break;

case2:

if(year%400==0||year%4==0&&year%100!

=0)

days=29;

else

days=28;

break;

}

cout<<"Thenumberofdaysof"<

}

解2

#include

voidmain()

{

intx,y,z,w;

cout<<"请输入年月:

";

cin>>x>>y;

if(x%4==0&&x%100!

=0||x%400==0)

{

z=366;

switch(y)

{

case1:

;

case3:

;

case5:

;

case7:

;

case8:

;

case10:

;

case12:

w=31;break;

case2:

w=29;break;

case6:

;

case4:

;

case9:

;

case11:

w=30;break;

}

}

else

{

z=365;

switch(y)

{

case1:

;

case3:

;

case5:

;

case7:

;

case8:

;

case10:

;

case12:

w=31;break;

case2:

w=28;break;

case6:

;

case4:

;

case9:

;

case11:

w=30;break;

}

}

cout<<"\n";

cout<<"本年的天数为:

"<

"<

}

解3

#include

intmain()

{intyear,month,days,ydays;

boolisleap;

cout<<"Pleaseinputyear,month:

";

cin>>year>>month;

isleap=(year%400==0||year%4==0&&year%100!

=0);

if(isleap)ydays=366;

elseydays=365;

switch(month)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;

break;

case4:

case6:

case9:

case11:

days=30;

break;

case2:

if(isleap)days=29;

else

days=28;

break;

}

cout<

return0;

}

5.企业发放的奖金来自利润提成。

利润i低于或等于10万元的,可提成10%为奖金;利润i高于10万元,低于或等于20万元(100000

从键盘输入当月利润i,求应发奖金总数。

要求:

用switch语句编程序。

#include

usingnamespacestd;

intmain()

{longi;

floatbonus,bon1,bon2,bon4,bon6,bon10;

intc;

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<<"enteri:

";

cin>>i;

c=i/100000;

if(c>10)c=10;

switch(c)

{case0:

bonus=i*0.1;break;

case1:

bonus=bon1+(i-100000)*0.075;break;

case2:

case3:

bonus=bon2+(i-200000)*0.05;break;

case4:

case5:

bonus=bon4+(i-400000)*0.03;break;

case6:

case7:

case8:

case9:

bonus=bon6+(i-600000)*0.015;break;

case10:

bonus=bon10+(i-1000000)*0.01;

}

cout<<"bonus="<

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1