#30057: double 跟 int 的很嚴重問題


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [49.159.246.211]
最後登入時間 :
2024-10-19 20:13:44
a248. 新手訓練 ~ 陣列應用 -- 新手訓練系列 ~ 2 | From: [61.64.1.159] | 發表日期 : 2022-04-25 17:49

int a , b ;
double c ;

cin >> a >> b ;

c = a / b ;

結果會算不出小數

double a , b , c ;

cin >> a >> b ;

c = a / b ;

就可以

 
#30069: Re: double 跟 int 的很嚴重問題


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a248. 新手訓練 ~ 陣列應用 -- 新手訓練系列 ~ 2 | From: [27.246.161.196] | 發表日期 : 2022-04-25 22:07

int a , b ;
double c ;

cin >> a >> b ;

c = a / b ;

結果會算不出小數


第一種的情形是a與b都是int,int除int還是int,然後類型為int的商數指定給c的時候再從int轉為double (implicit conversion)。可以改成c = (double)a / b,先把int轉為double再進行除法

 
ZeroJudge Forum