#9729: 到底要不要double?


yogafox (yogafox)

學校 : 國立臺灣大學
編號 : 44123
來源 : [111.241.181.231]
最後登入時間 :
2021-12-14 03:40:44
a006. 一元二次方程式 | From: [61.223.87.191] | 發表日期 : 2015-03-22 17:31

在測試時用double宣告一直WA

改成int就AC了

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

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


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [114.140.72.110]
最後登入時間 :
2024-10-20 17:35:39
a006. 一元二次方程式 | From: [219.68.155.168] | 發表日期 : 2016-01-05 22:56

在測試時用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*/

 
ZeroJudge Forum