求C語言指點,如何讓我的輸出為小數點後10多位我的輸出只有小數點後六位

2021-04-21 22:48:09 字數 4722 閱讀 4980

1樓:匿名使用者

printf("e=%.10lf",e);

2樓:匿名使用者

printf("e=%.20f",e);輸出小數點後面的20位!

c語言中輸出時怎樣控制小數點後的位數,請舉例說明保留1、2、3、4位小數等等,謝謝

3樓:凌亂心扉

舉例說明如下:

1、float f1=3.1415926;

2、float f2=1234.1415926;

3、float f3=124.1;

4、printf("%3.4f",f1);//輸出結果為:_ _ 3.1416(_表示空格)

5、printf("%3.4f",f2);//輸出結果為:1234.1416

6、printf("%3.4f",f3);//輸出結果為:124.1000

printf("%3.4f",f);中的3是控制f的整數部分按3位的固定位寬輸出;4是按四捨五入的準則保留4位小數。

注:如果整數部分不足3位,則在前面補空格,超過3位,則按實際位數輸出;如果小數部分不足4,則在後面補0。

浮點型別

如果儲存比精度更重要,請考慮對浮點變數使用float型別。相反,如果精度是最重要的條件,則使用double型別。

浮點變數可以提升為更大基數的型別(從float型別到double型別)。當您對浮點變數執行算術時,通常會出現提升。此算術始終以與具有最高精度的變數一樣高的精度執行。

例如,請考慮下列型別宣告:

float f_short;double f_long;long double f_longer;f_short=f_short*f_long;

在前面的示例中,變數f_short提升到型別double並且與f_long相乘;然後,結果舍入到型別float,然後賦給f_short。

在以下示例中(使用前面示例中的宣告),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double型別:

f_longer=f_short*f_short;

double f_long;

long double f_longer;

f_short=f_short*f_long;

在前面的示例中,變數f_short提升到型別double並且與f_long相乘;然後,結果舍入到型別float,然後賦給f_short。

在以下示例中(使用前面示例中的宣告),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double型別:

f_longer=f_short*f_short;

4樓:匿名使用者

我們在輸出語句上加如0.就行了,比如printf("%0.2f",a); 就是保留2位.

上**#include

int main()

再上結果圖:

擴充套件資容料:小數在計算機中的儲存:

對於浮點型別的資料採用單精度型別(float)和雙精度型別(double)來儲存,float資料佔用 32bit,double資料佔用 64bit.其實不論是float型別還是double型別,在計算機記憶體中的儲存方式都是遵從ieee的規範的,float 遵從的是ieee r32.24 ,而double 遵從的是r64.

53。無論是單精度還是雙精度,在記憶體儲存中都分為3個部分:

1) 符號位(sign):0代表正,1代表為負;

2) 指數位(exponent):用於儲存科學計數法中的指數資料,並且採用移位儲存;

3) 尾數部分(mantissa):尾數部分

5樓:靠名真tm難起

%nf 即輸出的bai

數字佔dun位 當原數字位數zhi大dao

於n時原樣輸出,原數字位數小於回n時輸出數字左端補上空答格,比如原數字為a=1.23456;n為4時輸出為1.23456,n為9時輸出為(空格空格1.23456)

6樓:陳昇富你好

#include

void main()

以此類推權

你說的n指輸出的資料共佔n列

7樓:黃

n是你需要保留的多少位小數的位數,a為變數。比如:

float a=3.14159;

printf("%3f",a);

輸出的結果為:3.141

8樓:匿名使用者

一。%nf 即輸出的數

自字佔n位 當原數字位數大於n時原樣輸出,原數字位數小於n時輸出數字左端補上空格,比如原數字為a=1.23456;n為4時輸出為1.23456,n為9時輸出為

(空格空格1.23456)

二。%n.mf 即輸出總共佔n位其中有m位小數 如a=1.23456 用%4.2f輸出為1.23如果用

%5,1f輸出為123.4即長度為5小數為1!這裡也有當原數字長度小於n時左端補空格這個規則!

還有就是當n前面有個負號時即%-nf或%-n.mf時就右端補空格!

9樓:手機使用者

地址單元而定

#define uchar unsigned char#define uint unsigned intuchar xdata xram _at_ 0xff00[4];//指定外部儲存地址

uchar data1[4]; //你先把你的四位數每位單獨分離出回來存到這個4成員陣列答

void main(void)}

10樓:匿名使用者

保留1位小數 printf("%.1f",a);

保留2位小數 printf("%.2f",a);

保留3位小數 printf("%.3f",a);...

c語言中輸出時怎樣控制小數點後的位數,請舉例說明保

11樓:

舉例說明如下:

#include

int main()

執行結果:

3.14

3.141593

3.141592645678957

12樓:匿名使用者

舉例說明如下:

#include

#include

using namespace std;

int main( void )

c語言之所以命名為c,是因為 c語言源自ken thompson發明的b語言,而 b語言則源自bcpl語言。

c語言是一種計算機程式設計語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的d.m.

ritchie於2023年推出,2023年後,c語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如微控制器以及嵌入式系統開發。

13樓:

#include

int main(void)

執行結果:

12.000000

12.0

12.00

12.000

12.0000

12.00000

12.000000

12.0000000

12.00000000

12.000000000

12.0000000000

12.00000000000

12.000000000000

printf("%f\n", i);在普通輸出控制格式字元的%和f中間加「.#」(其中#為小數點位數)

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

14樓:匿名使用者

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

15樓:匿名使用者

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

16樓:匿名使用者

printf("%lf",p);

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

你 試試

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

也許就 可以了

17樓:匿名使用者

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

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

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

18樓:匿名使用者

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

C語言為什麼輸出的是7 0啊,C語言 7 0,為什麼

字元 hex dec 0 0x00 0 從數值上說上面三個是相等的 0 0x30 48 請lz注意他們的區別 你可以這樣理解strlen 函式的實現 int strlen char str 定義的x是字元型陣列名,但在c語言中字元型變數可以被賦予整形資料,字串裡遇到結束符0 0 就會結束,不管後面是...

急求橫批為「有口皆碑」的對聯,求各位大神指點,小妹感激不盡,謝謝大家!只要工整就好

橫批 有口皆碑 上聯 有教無類不分利否 下聯 嘔心瀝血休論親疏 上聯 苦口婆心兢兢業業一個也不放過 下聯 改頭換面勤勤懇懇全部終於高升 急求一個橫批為 有口皆碑 的對聯,求各位大神指點,小妹感激不盡,謝謝大家!只要工整就好 氣勢磅礴繞寰宇 兩袖清風世人尊 有口皆碑 請具體說明哪個方面的?是食品?還是...

c語言a《2的意思?若a2,ba《2,那麼輸出b為多少

是左移號,a為2的話,其轉為二進位制數為00000010,a 2,a左移兩位,右端補零,變為00001000,即8,賦給b,a本身不變.8,表示2往左移2位。在c語言中b a 2 是什麼意思?在c語言中,b a 2代表將a移位後的值賦值給b。例如 100的二進位制表示為1100100,100左移2位...