#9729: 到底要不要double?


yogafox (yogafox)


在測試時用double宣告一直WA

改成int就AC了

那到底為什麼叫我們用double? 

#10610: Re:到底要不要double?


d2513850 (林勇智)


在測試時用double宣告一直WA

改成int就AC了

那到底為什麼叫我們用double? 

因為要使用math.h裡面的函數:pow(x,y)以及sqrt(x)

d=pow(((double)b),2.0f)-4.0f*((double)a)*((double)c);/*先讓a,b,c轉成雙精度浮點數並算d值*/

以及

x[0]=((-1.0f*((double)b))-sqrt(d))/(2.0f*((double)a));/*先讓a,b,c轉成雙精度浮點數並算x[0],x[1]值*/

x[1]=((-1.0f*((double)b))+sqrt(d))/(2.0f*((double)a));

最後輸出答案用printf()函數輸出時才轉回int整數

printf("Two different roots x1=%d , x2=%d\n",((int)x[1]),((int)x[0]));/*最後轉成int*/