欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8596|回復: 9
打印 上一主題 下一主題
收起左側

在C語言程序中多個if語句如何簡化寫法

[復制鏈接]
跳轉到指定樓層
樓主
ID:104779 發表于 2018-12-12 23:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在程序中,當有多個數據要判斷,如何才能編得高效?
例如
    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;
      }

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



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:246251 發表于 2018-12-13 08:10 | 只看該作者
d>5&&d<7   那不就是6嗎
回復

使用道具 舉報

板凳
ID:445745 發表于 2018-12-13 16:12 | 只看該作者
可以用switch語句
回復

使用道具 舉報

地板
ID:104779 發表于 2018-12-13 19:03 | 只看該作者

5和7之間為隨機數字段。所以才問下是否能簡化寫法。
回復

使用道具 舉報

5#
ID:104779 發表于 2018-12-13 19:04 | 只看該作者
switch(????這里該如何定義呢?)
回復

使用道具 舉報

6#
ID:445887 發表于 2018-12-13 20:20 | 只看該作者
如果d為浮點數的話,那也沒什么辦法了,下面這么寫可能會少一些判斷
   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;
      }
回復

使用道具 舉報

7#
ID:446291 發表于 2018-12-14 14:01 | 只看該作者
switch(d)
{
      case 6:F=d*8;break;

}
回復

使用道具 舉報

8#
ID:446291 發表于 2018-12-14 14:02 | 只看該作者
swhich啊,像13,14,這樣的不要用break,就行了,要么就if else if
回復

使用道具 舉報

9#
ID:170498 發表于 2018-12-14 15:57 | 只看該作者
應該這樣寫
if ( ...)
{
}
else if (...)
{
}
.
.
.
else if (...)
{
}
else
{
}
這樣的結構只要前面的符合條件了,那么下面的就不判斷了,比你用多個if()效率高
回復

使用道具 舉報

10#
ID:104779 發表于 2018-12-14 19:53 | 只看該作者
老馬工作室 發表于 2018-12-14 15:57
應該這樣寫
if ( ...)
{

謝謝。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表