標題: 在C語言程序中多個if語句如何簡化寫法 [打印本頁]

作者: hozhiwen    時間: 2018-12-12 23:39
標題: 在C語言程序中多個if語句如何簡化寫法
在程序中,當(dāng)有多個數(shù)據(jù)要判斷,如何才能編得高效?
例如
    if(d>5&&d<7)
      {
        F=d*5;
      }

        if(d>7&&d<9)
      {
        F=d*6;
      }
     ..........
    if(d>10&&d<12)
      {
        F=d*8;
      }
    if(d>12&&d<15)
      {
        F=d*9;
      }

.......
這樣如何才能寫得高效呢?請各位大神指教。




作者: new_hand    時間: 2018-12-13 08:10
d>5&&d<7   那不就是6嗎
作者: 536544    時間: 2018-12-13 16:12
可以用switch語句
作者: hozhiwen    時間: 2018-12-13 19:03
new_hand 發(fā)表于 2018-12-13 08:10
d>5&&d

5和7之間為隨機數(shù)字段。所以才問下是否能簡化寫法。
作者: hozhiwen    時間: 2018-12-13 19:04
switch(????這里該如何定義呢?)
作者: junma    時間: 2018-12-13 20:20
如果d為浮點數(shù)的話,那也沒什么辦法了,下面這么寫可能會少一些判斷
   if(d>5)
      if(d<7)
      {
        F=d*5;
      }

      else  if(d<9)
      {
        F=d*6;
      }
     ..........
    else if(d<12)
      {
        F=d*8;
      }
    else if(d<15)
      {
        F=d*9;
      }
作者: aaa0557li    時間: 2018-12-14 14:01
switch(d)
{
      case 6:F=d*8;break;

}
作者: aaa0557li    時間: 2018-12-14 14:02
swhich啊,像13,14,這樣的不要用break,就行了,要么就if else if
作者: 老馬工作室    時間: 2018-12-14 15:57
應(yīng)該這樣寫
if ( ...)
{
}
else if (...)
{
}
.
.
.
else if (...)
{
}
else
{
}
這樣的結(jié)構(gòu)只要前面的符合條件了,那么下面的就不判斷了,比你用多個if()效率高
作者: hozhiwen    時間: 2018-12-14 19:53
老馬工作室 發(fā)表于 2018-12-14 15:57
應(yīng)該這樣寫
if ( ...)
{

謝謝。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1