1樓:無法無天
%f和%lf都是預設輸出6位小數,並不代表double型別的精度只有6位小數
如果需要多輸出,強制指定就可以了
例如printf(".12lf\n",a); 就可以輸出12位小數了雙精度的尾數有效位為15位
這個**的輸出結果為什麼只有六位小數啊
2樓:金色潛鳥
你可以自己定義要多少位小數,
例如:格式用 %.12lf 輸出的小數字 就是12 位。
你的編譯器 預設 %lf 輸出 6 位。
c語言中%f表示的是什麼,為什麼有時小數點後保留6位,有時小數點後保留1位
3樓:匿名使用者
printf("%f", fval ); //這是浮點預設輸出格式,小數點保留6位
printf("%.1f", fval ); //.1是說明,小數點保留1位,對其後的
資料進行四捨五入
printf("%.2f", fval ); //.2是說明,小數點保留2位,對其後的資料進行四捨五入,你想保留幾位,就用點幾
printf("%10f", fval ); //輸出寬度為10個字元,右對齊,前補空格,小數點保留6位
printf("%10.2f", fval ); //輸出寬度為10個字元,右對齊,前補空格,小數點保留2位
4樓:匿名使用者
printf("%.mf",fval)的捨入這裡,有個巨大的誤區,不是四捨五入,它採用的是四捨六入五成雙規則,詳情各位可參考百科。
四捨六入無成雙網頁鏈結
數值修約網頁鏈結
c語言 執行結果中為什麼雙精度實型只輸出小數點後六位
5樓:匿名使用者
在c語言中,輸出double型別(雙精度實型)以及float型別(單精度實型)時,預設輸出6位小數。
比如這樣的版**:
double a = 1;
printf("%lf\n", a);
輸出會是
1.000000
但是權有時六位會顯得很長,沒必要。比如計算平均分,一到兩位小數就足夠了。
可是有時六位又不夠,需要更多位小數,比如計算高精度平方根。
這時可以用printf的格式控制。
如果要輸出n位小數,那麼可以用%.nlf的格式。其中n為數字。
如要輸出10位小數,那麼
printf("%.10lf\n", a);
即可類似的輸出1位小數
printf("%.1lf\n", a);
6樓:匿名使用者
樓上的回答是對的,printf要求你輸出格式,預設6位小數,你可以指定輸出幾位
7樓:匿名使用者
printf("%lf",p);
是一般輸出形式預設是 6位吧
你 試試
printf("%.10f",p);
也許就 可以了
8樓:匿名使用者
你可以自己設定輸出精度的
printf("%.nf",p); n為你的精度
如:printf("%.6f",p); //輸出為小數點後6位
9樓:匿名使用者
只輸出六位小數,這是預設的,可以改變,如:printf("%6",d)
計算機c語言中是不是所有%f輸出的都是小數點後有6位
10樓:匿名使用者
不是 你可以試試%.4f 意思就是保留4位小數 ;%.0f就是整數了。
11樓:匿名使用者
"%m.nf":輸出浮點數,m為寬度,n為小數點右邊數字
求c語言指點,如何讓我的輸出為小數點後10多位 ??我的輸出只有小數點後六位··
12樓:匿名使用者
printf("e=%.10lf",e);
13樓:匿名使用者
printf("e=%.20f",e);輸出小數點後面的20位!
c語言輸出的最後總是以“0”結尾是為什麼
應該是 0吧!作為結束符用的 你的程式寫的有問題,我重新改下,測試通過。你的程式主是由於對scanf函式對字串的輸入接收理解不正確。你的 for i 0 i 2 i scanf s,s,c,d sa i name,sa i num,sa i sa i age 我更改後的 for i 0 i 2 i ...
為什麼寶馬X6只有氣囊為什麼寶馬X6只有6個氣囊?
樓主,一輛車安不安全不是要看有多少個安全氣囊的,車裝20個安全氣囊也沒有寶馬寶馬裝2個氣囊安全。安全氣囊只是一種被動安全保護系統,什麼是被動安全?就是只有車發生碰撞了才能出來保護你的安全。而且記住無論你有幾個氣囊,安全帶一定要繫好,安全帶是非常重要的,不要不當回事。每次我哪怕做計程車前排,即使司機再...
使命召喚6 為什麼他最後被殺了,使命召喚6為什麼要殺了謝菲爾德
大體上就是這丫的為了顯示自己的能力,製造機場恐怖襲擊,挑起美俄戰爭,又殺害主角之一。主角的隊友最後發現實情,把他宰了。這難啊,劇情很多的,自己上網查查,至於感人的話,我是感動了,其他不說,美國本土的那兵沒掛,艾倫掛了,幽靈也掛了,謝菲爾德被小肥皂飛刀了,據說下部還會出來的,最後被殺的是謝菲爾德將軍,...