switch⽤法
⼀般形式:
switch(表达式){
case 常量表达式1:  语句1;
case 常量表达式2:  语句2;
case 常量表达式n:  语句n;
default:  语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式⽐较,若不等则继续往下⽐较,若⼀直不等,则执⾏default后的语句;若等于某⼀个常量表达式,则从这个表达式后的语句开始执⾏,并执⾏后⾯所有case后的语句。
与if语句的不同:If语句中若判断为真则只执⾏这个判断后的语句,执⾏完就跳出if语句,不会执⾏其他if语句;
⽽switch语句不会在执⾏判断为真后的语句之后跳出循环,⽽是继续执⾏后⾯所有case语句。在每⼀case语句之后增加break 语句,使每⼀次执⾏之后均可跳出switch语句,从⽽避免输出不应有的结果。
例题:
期末班长⼩Q决定将剩余班费X元钱⽤于购买若⼲⽀钢笔进⾏奖励.商店⾥有三种钢笔,单价分别为6元、5元
switch case判断字符串和4元.⼩Q想购买尽量多的笔(奖励尽量多的同学),并且不剩余钱.帮⼩Q制定出⼀种买笔的⽅案.(提⽰:因为要奖励尽量多的同学,⽤X元整除最便宜钢笔价格4可能得出余数0、1、2、3,再根据四种余数情况分别判断三种笔各有多少⽀.)
#include<iostream>
using namespace std;
int main()
{
int a,b,c;//6 5 4元的笔
int x;
cin>>x;
c=x/4;//4元的笔最多购买数⽬
int y=x%4;//购买完c只4元的笔后剩余的钱数
switch(y)//判断购买⽅案
{
case 0:a=0;b=0;break;
case 1:a=0;b=1;c--;break;//5
case 2:a=1;b=0;c--;break;//6
case 3:a=1;b=1;c-=2;break; //5 6
}
cout<<a<<" "<<b<<" "<<c<<endl;
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。