永发信息网

if语句改写switch语句if(s<60)m=1;else if(s<70)m=2;elseif(s<80)m=3;else if(s<90)m=4;elseif(s<

答案:3  悬赏:40  手机版
解决时间 2021-01-12 03:19
  • 提问者网友:焚苦与心
  • 2021-01-11 16:43
if语句改写switch语句if(s<60)m=1;else if(s<70)m=2;elseif(s<80)m=3;else if(s<90)m=4;elseif(s<100)m=5;
最佳答案
  • 五星知识达人网友:独钓一江月
  • 2021-01-11 17:14
C#一类的语言中,switch()的条件必须为常量或常量表达式,所以必须将s进行处理:

首先s必须为int整型.
switch ((s / 10) < 5 ? 5 : (s / 10))
{
case 5:
m = 1;
break;
case 6:
m = 2;
break;
case 7:
m = 3;
break;
case 8:
m = 4;
break;
case 9:
m = 5;
break;
}
其实你可这么写:
m = ((s / 10) < 5 ? 5 : (s / 10)) - 4;
连switch都用不着.
全部回答
  • 1楼网友:独钓一江月
  • 2021-01-11 19:02
你这个程序段有问题吧,假如给一个数:s=55,那么这个m会被分别赋值4次,最后m=5.....不太清楚你想要的是什么结果? 是不是就是类似于成绩分组的那种?
  • 2楼网友:千夜
  • 2021-01-11 18:34
switch (x<分数值)
{
case x>0&&x<60 :
{
Console .WriteLine ("不及格,下次继续努力!");
}
break;
case x >= 60 && x < 70:
{
Console.WriteLine("及格");
}
break;
case x >= 70 && x < 80:
{
Console.WriteLine("良好");
}
break ;
case x>=80&&x<100:
{
Console.WriteLine("优秀");
}
break;
default:
{
Console.WriteLine("优秀");
}
break;

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯