[爆卦]double用法是什麼?優點缺點精華區懶人包

為什麼這篇double用法鄉民發文收入到精華區:因為在double用法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ha127437 (呈呈)看板C_and_CPP標題[問題] double的用法時間Fri Se...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++

額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)


問題(Question):
想請問為何我這個方程式,假如我把float改成double卻跑出錯誤

餵入的資料(Input):

/*prog*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
float a,b,c,d,e,f,g; /*用double很奇怪跑不出來*/
printf("ax^2+bx+c=0\n請輸入a/b/c來判斷實根:\n");
scanf("%f/%f/%f",&a,&b,&c);
e=(-b+sqrt(b*b-4*a*c))/(2*a);
f=(-b-sqrt(b*b-4*a*c))/(2*a);
g=-b/(2*a);
if((b*b-4*a*c)>0.0)
printf("方程式有兩個實根%5.2f,%5.2f",e,f);

else if((b*b-4*a*c)==0.0)
printf("方程式有兩個相等實根%5.2f",g);

else if((b*b-4*a*c)<0.0)
printf("沒有實根");

system("pause");
return 0;
}

預期的正確結果(Expected Output):

這是在求方程式的答案
錯誤結果(Wrong Output):


程式碼(Code):(請善用置底文網頁, 記得排版)


補充說明(Supplement):

謝謝各位大大

--
小本經營賣場 http://tw.user.bid.yahoo.com/tw/user/Y2286184456

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.25.238
tropical72:double 的話,%f 改成 %lf (小寫英文字母 L) 09/16 23:20
james732:改成double的話,printf跟scanf都要改 09/16 23:23
james732:...輸給一樓了 XD 09/16 23:23
xatier:樓上,printf() 用 double 還是 %f 阿... 只有scanf 要改 09/16 23:30
tropical72:printf雖用%f可過,但為方便trace/matain,還是改較好 09/16 23:32
james732:咦,我還以為 printf 一定要改,感謝 XDD 09/16 23:38
xatier:http://ppt.cc/uo38 http://ppt.cc/qXke 我怎麼記得lf 是給 09/17 01:28
xatier:long double 用的 @@? 09/17 01:28
tropical72:long double 是用 %llf, 若用%lf 幸運不出包的話,代表 09/17 01:44
tropical72:很可能該compiler sizeof(double)=sizeof(long double) 09/17 01:44
tropical72:就像 int / long int 的問題是一樣的... 09/17 01:44
xatier:感謝 樓上補充:) 09/17 02:49
ha127437:很謝謝各位大大幫忙解答^^ 09/17 10:43

你可能也想看看

搜尋相關網站