2014 第三章上机实验2 switch语句习题 答案

更新时间:2024-04-26 22:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2. 给出一个百分制的成绩,要求输出成绩等级'A','B','C','D','E'。90分以上为'A',80~89分为'B',70~79分为'C',60z69分为'D',60分以下为'E'。 解1

#include int main() { int x,y; cout<<\请输入学生成绩\ cin>>x; y=x/10; if (x<0 || x>100) cout<<\输入错误\ else switch(x/10) { case 10: case 9:cout<<\ break; case 8:cout<<\ break; case 7:cout<<\ break; case 6:cout<<\ break; case 5: case 4: case 3: case 2: case 1: case 0:cout<<\ } return 0; }

解2:

#include int main() { int x,y; cout<<\请输入学生成绩\

C++程序设计(第2版)

cin>>x; y=x/10; if (x==100) y=9; //剔除x=103之类出现10的情况 switch(x/10) { case 9:cout<<\ break; case 8:cout<<\ break; case 7:cout<<\ break; case 6:cout<<\ break; case 5: case 4: case 3: case 2: case 1:

case 0:cout<<\ break; default:cout<<\输入错误\ } return 0; }

3、编写一个程序,当输入’S’或’s’、’T’或’t、’’C’或’c’ 时,分别转去执行计算正方形、三角形和圆的面积,分别用switch语句实现

运行实例

#include int main() {

const float pi=3.1415926; char ch;

C++程序设计(第2版)

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

cout<<\代表正方形,\\'T\\'or\\'t\\'代表三角形,\\'C\\'or\\'c\\'代表圆\\n\ cin>>ch; switch (ch) {

case 'S':case 's': {

float a,area;

cout<<\请输入正方形边长\ cin>>a; area=a*a;

cout<<\正方形面积为:\ break; }

case 'T':case 't': {

float a,b,area;

cout<<\请输入三角形底和高\ cin>>a>>b; area=a*b/2;

cout<<\三角形面积为:\ break; }

case 'C':case'c': {

float r,area;

cout<<\请输入圆的半径\ cin>>r; area=pi*r*r;

cout<<\圆面积为:\ break; }

default:

cout<<\输入错误\ } return 0; }

6编写一个程序,要求用户输入今天星期几,根据用户的输入判断是工作日还是周末,并显示合适的问候语。如果输入的数字不在1~7之间,显示“请输入位于1到7之间的数”,如

C++程序设计(第2版)

果输入数字为6或7,显示“周末愉快”,如果输入数字1-5,显示“工作日愉快”

#include main() { int x;

cout<<\星期几的代号为:\星期一 =1\星期二 =2\星期三 =3\星期四 =4\星期五 =5\星期六 =6\星期日 =7\cin>>x; switch(x) { case 1: case 2: case 3: case 4: case 5:cout<<\工作日愉快\ break; case 6: case 7:cout<<\周末愉快\ break; default:cout<<\请输入位于1到7之间的数\ } return 0; }

1、查询自动售货机中商品的价格,假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单,用户可以查询商品的价格,用户输入编号1~4,显示相应商品的价格;输入其他编号,显示价格为0。

C++程序设计(第2版)

运行实例

#include int main() {

int choice, i; double price;

cout<<\ cout<<\ cout<<\ cout<<\ cout<<\ cin>>choice;

switch (choice) { case 1: price=3.0; break; case 2: price=2.5; break; case 3: price=4.0; break; case 4: price=3.5; break; default: price=0.0; break; }

cout<<\ return 0; }

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

#include int main() {

int a,b; char op;

cout<<\输入操作数1,运算符,操作数2: \ cin>>a>>op>>b; switch(op) {

case '+':cout<

C++程序设计(第2版)

break;

case '-':cout<

case '*':cout<

cout<<\除数不能为0\ else

cout<

default: cout<<\运算符错误!\ } return 0; }

解2:

#include int main() { cout<<\输入操作数1,运算符,操作数2\ int a,b,d; char op; cin>>a>>op>>b; switch(op) { case '+':d=a+b;break; case '-':d=a-b;break; case '*':d=a*b;break; case '/': if(b==0) { cout<<\除数不能为0\ return 0; } else d=a/b; break; } cout<

C++程序设计(第2版)

解3:

#include int main() { cout<<\输入操作数1,运算符,操作数2\ int a,b,d; char op; 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<

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

#include int main()

{ int year,month,days;

cout<<\ cin>>year>>month; switch (month) {

case 1: case 3: case 5: case 7: case 8: case 10:

case 12:days=31;

C++程序设计(第2版)

break; case 4: case 6: case 9:

case 11:days=30; break;

case 2:if (year @0==0|| year %4==0 && year 0!=0) days=29; else

days=28; break; }

cout<<\} 解2

#include void main() { int x,y,z,w; cout<<\请输入年月:\ cin>>x>>y; if(x%4==0&&x0!=0||x@0==0) { z=366; switch(y) { case 1:; case 3:; case 5:; case 7:; case 8:; case 10:; case 12:w=31;break; case 2:w=29;break; case 6:; case 4:; case 9:; case 11:w=30;break;

C++程序设计(第2版)

} } else { z=365; switch(y) { case 1:; case 3:; case 5:; case 7:; case 8:; case 10:; case 12:w=31;break; case 2:w=28;break; case 6:; case 4:; case 9:; case 11:w=30;break; } } cout<<\ cout<<\本年的天数为:\本月的天数为:\} 解3

#include int main()

{ int year,month,days,ydays; bool isleap;

cout<<\ cin>>year>>month; isleap=(year @0==0|| year %4==0 && year 0!=0); if (isleap) ydays=366; else ydays=365; switch (month) {

case 1: case 3:

C++程序设计(第2版)

case 5: case 7: case 8: case 10:

case 12:days=31; break; case 4: case 6: case 9:

case 11:days=30; break;

case 2:if (isleap) days=29; else

days=28; break; }

cout<

5. 企业发放的奖金来自利润提成。利润i低于或等于10万元的,可提成10%为奖金;利润i高于10万元,低于或等于20万元(100000

#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;

C++程序设计(第2版)

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

C++程序设计(第2版)

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

本文来源:https://www.bwwdw.com/article/goup.html

Top