C語言執行結果中為什麼雙精度實型只輸出小數點後六位

2021-03-11 10:56:41 字數 1087 閱讀 7090

1樓:匿名使用者

在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);

2樓:匿名使用者

樓上的回答是對的,printf要求你輸出格式,預設6位小數,你可以指定輸出幾位

3樓:匿名使用者

printf("%lf",p);

是一般輸出形式預設是 6位吧

你 試試

printf("%.10f",p);

也許就 可以了

4樓:匿名使用者

你可以自己設定輸出精度的

printf("%.nf",p); n為你的精度

如:printf("%.6f",p); //輸出為小數點後6位

5樓:匿名使用者

只輸出六位小數,這是預設的,可以改變,如:printf("%6",d)

c語言計算出的結果中怎麼保留小數點後兩位?

6樓:匿名使用者

可以在輸出的時bai候限du制小數點位數。

當輸zhi出單精度浮點型float變數daof時,可以專用printf("%.2f", f);

來使輸出結屬果保留兩位有效數字。其中.2就是代表保留兩位,如果要保留三位就是%.3f。用%.0f就是只輸出整數。

如果是雙精度浮點數double,就需要用%.2lf來使輸出結果保留2位小數。

C語言,為什麼結果為「OK」?求執行過程解釋

是賦值,才是比較 你x 2修改成x 2 為什麼c語言程式執行時開啟後自動閃退?我看是網上來的 bai,du編譯後直接雙擊執行的,非gui的程式zhi一般不需要等dao待使用者,執行專完了當然自動退出了,執行屬main 函式末尾返回,你要是想停一下等待看結果,main 函式末尾加一句system pa...

C語言printfd na bb a 結果為什麼是30,printfd na bb a也是一樣

a 我們都知道它bai相等於 a a 1 的這個du寫法 那麼 a 是什麼呢?zhi a 實際上跟 a 的差別不大。daoa 是之後在執內行 a是之前就已經容 執行a 的例子 a 5 printf d n a 那麼這個答案應該是5,因為它是之後再執行 printf d n a 那麼現在a 就已經是4...

C語言程序為什么不能執行,C語言程式為什麼不能執行

include void main include void main 注意,你有變數未定義。並且有不少語法錯誤。比如printf 園的面積 2f n m 還有。儘量減少程式編幅。祝你學習愉快 付費內容限時免費檢視 回答請稍等哦 提問回答 c語言無法執行可能是因為執行期錯誤。這是指可執行程式執行過程...