為什麼c語言程式設計float算出來有很多

2021-04-22 02:19:49 字數 1011 閱讀 2707

1樓:

這不是「算出來」復的問製

題,是輸出函式printf的控制符用得不合適:%f的作用是按浮點型輸出,預設保留6位小數,不足6位的後面用0補齊。想要不輸出小數點後多餘的0,用%g控制就可以了,它是所謂緊湊型輸出,預設有效數字7位(連小數點)左對齊,在此範圍內,小數點的實際有效位是多少就輸出多少。

舉例**如下:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int main(void)

輸出如下圖:

2樓:匿名使用者

float表示是浮點數,輸出時應該有7位小數。要去掉應該用輸出控制符。

格式字元回

串(格式)

[標誌][輸出答最少寬度][.精度][長度]型別"%-md" :左對齊,若m比實際少時,按實際輸出。

"%m.ns":輸出m位,取字串(左起)n位,左補空格,當n>m or m省略時m=n

e.g. "%7.2s" 輸入china

輸出" ch"

"%m.nf":輸出浮點數,m為寬度,n為小數點右邊數字e.g. "%3.1f" 輸入3852.99輸出3853.0

長度:為h短整形量,l為長整形量

3樓:匿名使用者

浮點型有效位數是六位,你列印的時候就會精確到小數點後的6位,要用%.2f 格式控制輸出,

%.2f 就表示保留2位小數,%.3f 就表示保留3位小數 你試一下。

4樓:公尺嵐

小數點後面表示精度。就相當於數上保留到多少位,要表示出來。

5樓:金筆點龍

很多來0的話你應該輸出格式寫的自是 %f

如果要把多餘的0去掉的話換成 %g就可以了。

如果要精確到小數點後k位的話 換成 %.kf 就可以了。 比如 %.2f %.3f 分別是精確到小數點後兩位三位。

c語言程式設計,C語言程式設計

else 非字母 switch read buf break default break printf n printf tab count d n tab count printf blank count d n blank count printf char count d n char cou...

c 語言程式設計,c 語言程式設計

如下 include include using namespace std typedef long long ll ll fac ll x int main ll s,m,n,k cout 請輸入m,n,k m n k s fac m fac n fac k cout s m n k c 語言程...

c語言程式設計,C語言程式設計 c m n m n

c n,m n m n m c n,m p1a1 b1 c1p2a2 b2 c2 pkak bk ck,n 10,000,000 cpp include constintmaxn 1000000 include usingnamespacestd boolarr maxn 1 vectorprodu...