switch case语句
switch case格式:
switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
…
case 常量表达式n:语句n;break;
default:语句n+1;break;
}
【注意】
switch 语句注意事项
switch后面的表达式,必须是整型、字符型、布尔型;
每一个case表达式的值必须互不相同;
各个case的顺序不影响执行结果;
只有遇到break语句才跳出;
多个case可以共用一组语句;
default语句可以省略;
case后面的子句可以不用{}括起来。
【例题】
01.使用switch,将输入的小写类型的char类型转为大写类型输出,只转换 a,b,c,d,e其他的输出“other”。
#include <iostream>
//01.使用switch,将输入的小写类型的char类型转为大写类型输出,只转换 a,b,c,d,e其他的输出“请输入正确的小写字母”
using namespace std;
int main() {cout<<"字符大小写转换器"<<endl;cout<<"请输入要转换的小写字母"<<endl;char n;cin>>n;switch(n){case 'a':n=n-32;break;case 'b':n=n-32;break;case 'c':n=n-32;break;case 'd':n=n-32;break;case 'e':n=n-32;break;default:cout<<"请输入正确的小写字母";}cout<<n;return 0;
}
02.对学生成绩大于60分的输出“合格”,低于60分的输出“不合格”。(输入的成绩不能大于100,提示成绩/60)。
#include <iostream>
//02.对学生成绩大于60分的输出“合格”,低于60分的输出“不合格”。(输入的成绩不能大于100,提示成绩/60)
using namespace std;
int main() {cout<<"学生成绩判断器"<<endl;cout<<"请输入学生成绩"<<endl;int n;cin>>n;if(n<=100){switch(n/10){case 10:case 9:case 8:case 7:case 6:cout<<"合格";break;default:cout<<"不合格"<<endl;}}cout<<"输入分数有错误,总分为100";return 0;
}
03.利用switch的穿透特性,根据指定月份,打印该月份所属的季节,3,4,5春季 6,7,8夏季 9,10,11秋季 12,1,2冬季。
//03.利用switch的穿透特性,根据指定月份,
//打印该月份所属的季节,3,4,5春季 6,7,8夏季 9,10,11秋季 12,1,2冬季。
#include<iostream>using namespace std;
int main(){int n;cout<<"季节判断器"<<endl;cout<<"请输入要进行判断的月份:"<<endl; cin>>n;switch(n){case 12:cout<<"冬季";break;case 1:cout<<"冬季";break;case 2:cout<<"冬季";break;case 3:cout<<"春季";break;case 4:cout<<"春季";break;case 5:cout<<"春季";break;case 6:cout<<"夏季";break;case 7:cout<<"夏季";break;case 8:cout<<"夏季";break;case 9:cout<<"秋季";break;case 10:cout<<"秋季";break;case 11:cout<<"秋季";break;default:cout<<"输入错误";break; }return 0;
}
04.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母, 如果第二个字母是a,则输出“星期六”。星期的英文单词如下表所示。
星期一 星期二 星期三 星期四 星期五 星期六 星期日
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
//04.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,
//则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,
//如果第二个字母是a,则输出“星期六”。星期的英文单词如下表所示。
//
// 星期一 星期二 星期三 星期四 星期五 星期六 星期日
// Monday Tuesday Wednesday Thursday Friday Saturday Sunday
#include<iostream>using namespace std;
int main(){char a,b;cout<<"星期几判断器"<<endl;cout<<"请输入第一个字母(小写)"<<endl;cin>>a;a=a-32; switch(a){case 'M':cout<<"星期一";break;case 'W':cout<<"星期三";break;case 'F':cout<<"星期五";break;case 'T':{cout<<"请输入第二个字母(小写)"<<endl;cin>>b;if(b=='h'){cout<<"星期四"; }else if(b=='u'){cout<<"星期二";}else {cout<<"请输入有效数字"; }break;} case 'S':{cout<<"请输入第二个字母(小写)"<<endl;cin>>b;if(b=='a'){cout<<"星期六"; }else if(b=='u'){cout<<"星期日";}else {cout<<"请输入有效数字"; }break;}default:cout<<"请输入有效数字"; ;break; }return 0;
}
05.做出一个计算器:支持加减乘除四种运算,
输入一行,数1,运算符,数2
然后输出
【特殊】:
除数为0:输出“你数学是体育老师教的吧!”
运算符不为±*/:输出“妈耶!!,有人不认识加减乘除符号”
//05.做出一个计算器:支持加减乘除四种运算,
//输入一行,数1,运算符,数2
//然后输出
//【特殊】:
//除数为0:输出“你数学是体育老师教的吧!”
//运算符不为+-*/:输出“妈耶!!,有人不认识加减乘除符号”
#include<iostream>using namespace std;
int main(){int x,y,sum=0;char n; cout<<"小山计算器"<<endl;cout<<"请输入您想计算的数:(例如:12 + 13)"<<endl;cin>>x>>n>>y;switch(n){case '+':sum=x+y;break;case '-':sum=x-y;break;case '*':sum=x*y;break;case '/':{if(y!=0){sum=x/y;}cout<<"数学是体育老师教的吧!"<<endl;break;}default:cout<<"妈耶!!有人不认识加减乘除运算符号";break; }cout<<x<<" "<<n<<" "<<y<<"= "<<sum;return 0;
}
//进阶版:循环10次进行计算
#include <iostream>using namespace std;
int main(){int x,y,sum=0;char n; cout<<"小山计算器"<<endl;cout<<"请输入您想计算的数:(例如:12 + 13)"<<endl;for(int i=1;i<=10;i++){cin>>x>>n>>y;switch(n){case '+':sum=x+y;break;case '-':sum=x-y;break;case '*':sum=x*y;break;case '/':{if(y!=0){sum=x/y;}cout<<"数学是体育老师教的吧!"<<endl;break;}default:cout<<"妈耶!!有人不认识加减乘除运算符号";break; }cout<<x<<" "<<n<<" "<<y<<"= "<<sum<<endl;}return 0;
}
//会员版:无限制计算
#include <iostream>using namespace std;
int main(){int x,y,sum=0;char n; cout<<"小山计算器"<<endl;cout<<"请输入您想计算的数:(例如:12 + 13),退出请输入n='e'"<<endl;for(int i=1;i>0;){cin>>x>>n>>y;switch(n){case '+':sum=x+y;break;case '-':sum=x-y;break;case '*':sum=x*y;break;case 'e':break;case '/':{if(y!=0){sum=x/y;}cout<<"数学是体育老师教的吧!"<<endl;break;}default:cout<<"妈耶!!有人不认识加减乘除运算符号";break; }if(n=='e'){cout<<"您已退出计算"<<endl;i=0;}else{cout<<x<<" "<<n<<" "<<y<<"= "<<sum<<endl;}}return 0;
}
06.猜数字
//猜数字游戏
#include<iostream>
#include<ctime>
#include<cstdlib>using namespace std;
int main(){int a,n;a=rand()%5+1;srand(time(0));cout<<"请输入一个1-5之间的整数"<<endl;cin>>n;switch(n){case 1:{if(a==1){cout<<"猜对了"<<endl;}break;}case 2:{if(a==1){cout<<"猜对了"<<endl;}break;}case 3:{if(a==1){cout<<"猜对了"<<endl;}break;}case 4:{if(a==1){cout<<"猜对了"<<endl;}break;} case 5:{if(a==1){cout<<"猜对了"<<endl;}break;}default:cout<<"猜错了"<<endl; }cout<<"猜错了"<<",正确数字为:"<<a<<endl;return 0;
}
07.彩票游戏
//彩票游戏
//你购买一张彩票 中奖概率为1/5#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(){int a,n;bool b=false; a=rand()%5+1;srand(time(0));cout<<"请输入你购买彩票号码:"<<endl;cin>>n;if(n==a){b=true;}switch(b){case true:cout<<"恭喜你中奖50元"<<endl;break;case false:cout<<"很抱歉,你未中奖"<<endl;break;default:break; }cout<<"本次中奖号码为:"<<a<<endl;return 0;
}
//彩票游戏plus
//你购买一张彩票 中奖概率为1/5
//输入购买彩票张数N
//刮奖N次 #include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(){int a,n,N;cout<<"请输入你购买彩票张数:"<<endl;cin>>N;for(int i=0;i<N;i++){bool b=false;a=rand()%5+1;srand(time(0));cout<<"请输入你购买彩票号码:"<<endl;cin>>n;if(n==a){b=true;}switch(b){case true:cout<<"恭喜你中奖50元"<<endl;break;case false:cout<<"很抱歉,你未中奖"<<endl;break;default:break; }cout<<"本次中奖号码为:"<<a<<endl;}return 0;
}