c語言下面g採用e格式輸出時,為什麼結果不一樣

2021-12-22 19:52:54 字數 1262 閱讀 3384

1樓:匿名使用者

e                 以指數形式輸出單、雙精度實數e                 以指數形式輸出單、雙精度實數f                  以小數形式輸出單、雙精度實數g                 以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或者大於等於精度時使用

g                 以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或者大於等於精度時使用

2樓:風若遠去何人留

二者均用於浮點數輸出。

其中,%e輸出為科學計數法形式,比如12.3會輸出1.23e1的形式。

而%g是一種智慧的方式,會比較按照數值輸出,及科學計數法輸出,哪種情況更短,對於12.3就是比較

12.3和1.23e1哪個更短,明顯是12.3,所以在用%g輸出時,就會輸出12.3。

所以,用%e和%g輸出浮點數得到不同結果是正常的,就是輸出小數形式比輸出科學計數法形式更簡潔。

3樓:null南柯

%g最多保留6位有效數字

c語言 格式轉換符 %f %e %g 有什麼區別

4樓:天雲一號

%f   表示按浮點數的格式

輸出%e  表示按指數形式的浮點數的格式輸出%g  表示自動選擇合適的表示法輸出

示例程式如下:

#include

void main()

5樓:匿名使用者

%g   以%f%e中較短的輸出寬度輸出單,雙精度實數(看看這個例子,希望你明白)

main()

6樓:夕琴雪宓繡

%f單精度浮點數

%e指數形式輸出

%g浮點型資料

會去掉多餘的零

至多保留6位

7樓:匿名使用者

不能用void main(),void main()不是c99標準

c語言的判斷題,第三題我看不懂,格式字元%e輸出的結果是什麼?怎麼來的?

8樓:匿名使用者

%e是科學計數法輸出.

當輸出的時候 實數部分, 預設小數部分為6位. 指數部分預設為3位.

即 如果是printf("%e", 12345.0);

那麼實際會輸出

1.234500e+04

在c語言中怎麼輸出指數格式

c語言中輸出指數格式 使用格式控制符 e 以指數形式輸出實數。printf的格式控制的完整格式 0 m.n l或h 格式字元其中格式控制說明如下 下面對組成格式說明的各項加以說明 表示格式說明的起始符號,不可缺少。有 表示左對齊輸出,如省略表示右對齊輸出。0 有0表示指定空位填0,如省略表示指定空位...

C語言格式輸出printf( y8ld n ,y與printf( y08ld n ,yprintf( y8ld n ,y)

c中格來式字串的一般形式為 自 標誌 輸出最小寬度bai 精度 長度 型別 結果左對齊du,右邊zhi填空格 輸出符號 dao 正號或負號 0 對於所有的數字格式,用前導0填充欄位寬度,若出現 標誌或者指定了精度,忽略 最全的看這裡 號是資料的對齊方式,8表示從左一次輸出8為最後一位是要輸出的數,8...

C語言程式設計輸出如下格式圖形(考慮將輸出的行數由輸入的值來控制

include using namespace std void main for d 1 d for d if d 0 for c 5 c cout c b a system pause 時間原因,第一行沒打出來,你自己根據演算法修改一下就行了 include void main include ...