回覆列表
  • 1 # 使用者3916807372217

    浮點數使用對數形式儲存的,所以要比較浮點數相等是不可能的。

    a=0.1 0.2 0.3 0.4 0.5

    int b;

    可以這樣b=int(10*a);

    swith(b)

    {

    case 10:

    case 20:

    }

    但這種方法也不是很可行的, 因為對數指數互相轉換,0.200000000就可能變成了0.19999

    假如

    swith(a)

    {

    case b1: ... a++ break;

    case b2: ... b++ break;

    case b3: .... c++

    default : .... d++;

    }

    改為while(1)

    {

    if(fabs(a-b1)

    if(fabs(a-b2)

    if(fabs(a-b2)

    d++;

    break;

    }

    為什麼不直接用if,不用while

    因為:用while後可以用break;提高效率,還可以基本實現

    switch的功能;

    記得在最後面加上break;就行了

  • 中秋節和大豐收的關聯?
  • 山行是寫什麼季節的詩啊?