将以下选择结构改写为switch语句

来源:百度知道 编辑:UC知道 时间:2024/06/03 01:13:52
if(a<30) m=1;
else if(a<40) m=2;
else if(a<50) m=3;
else if(a<60) m=4;
else m=5;
若a的值小于100

用 switch 完全可以办到!

int a,m;
....

switch (a/10) {
case 0:
case 1:
case 2:m=1;break;
case 3:m=2;break;
case 4:m=3;break;
case 5:m=4;break;
default:m=5;break;
}

不能该
除非:
switch(a)
{
case 30:
case 31:
case 32:
case 33:
case 34 :
……
都列举出来才可以

范围可以用n/10这样转化为一个数,如下面例子,调试过了,没问题
#include<iostream>
using namespace std;
void main()
{
int n,m,a;
cout<<"请输入a(a小于100)"<<endl;
cin>>a;
n=a/10;
switch(n)
{
case 0:
case 1:
case 2:m=1;break;
case 3:m=2;break;
case 4:m=3;break;
case 5:m=4;break;
case 6:
case 7:
case 8:
case 9:m=5;break;
}
cout<<"m="<<m<<endl;
}

这个应该办不到,switch里面应该是具体数据,而不是范围

顶楼上的