浮點數使用對數形式儲存的,所以要比較浮點數相等是不可能的。
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)
d++;
break;
為什麼不直接用if,不用while
因為:用while後可以用break;提高效率,還可以基本實現
switch的功能;
記得在最後面加上break;就行了
浮點數使用對數形式儲存的,所以要比較浮點數相等是不可能的。
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;就行了