請問C語言中輸出時,若為整數則輸出整數,若為小數則輸出2位小數,用什麼格式

2021-04-20 21:55:49 字數 4364 閱讀 5535

1樓:穩住大神

不記得有這樣的格式,你可以自己寫個判斷

2樓:蔡浩

printf("%.2f",a);

輸出float a的整數部分和小數點後兩位

c語言 怎樣使計算是整數輸出整數是小數輸出兩位小數

3樓:小刺蝟

都用抄float型的,得到的答案為 *.**當小數bai點十分位、百分位都是du0的時候zhi,看成是整型,限制輸出dao格式為只輸出整數部分。

當小數點十分位、百分位都不是0的時候,限制輸出格式為 *.**比如:5-3=2.00 輸出2

5/3 =1.67 輸出1.67

4樓:烽火不連城

把c付給字串,再輸出字串可以。

c語言如何讓輸出結果精確到兩位小數

5樓:匿名使用者

c語言中浮點數bai輸出精du確到兩位小數的語句如下

double a=2.0;

printf ("%.2f", a);//其中zhidao.2指明兩位小數

說明:如版%9.2f

表示輸出場寬為9的浮權點數, 其中小數字為2, 整數字為6,如果9預設則場寬為該數實際位數

規定符%d 十進位制有符號整數

%u 十進位制無符號整數

%f 浮點數

%s 字串

%c 單個字元

%p 指標的值

%e 指數形式的浮點數

%x, %x 無符號以十六進製制表示的整數

%o 無符號以八進位制表示的整數

%g 把輸出的值按照%e或者%f型別中輸出長度較小的方式輸出%p 輸出位址符

%lu 32位無符號整數

%llu 64位無符號整數

6樓:寶依白頓赫

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

1、當輸出單精度浮點型float變數f時,可以版用printf("%.2f",

f);來使輸出結果保留兩位有

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

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

7樓:匿名使用者

例子 printf( "%3.2lf",a) ,用 %a.blf可以實現,b就是小數點後的位數

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

8樓:凌亂心扉

舉例說明如下:

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;

9樓:匿名使用者

我們在輸出語句上加如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):尾數部分

10樓:靠名真tm難起

%nf 即輸出的bai

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

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

11樓:陳昇富你好

#include

void main()

以此類推權

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

12樓:黃

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

float a=3.14159;

printf("%3f",a);

輸出的結果為:3.141

13樓:匿名使用者

一。%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時就右端補空格!

14樓:手機使用者

位址單元而定

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

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

void main(void)}

15樓:匿名使用者

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

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

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

c語言中什麼型別的標準輸出可以做到是整數時,就只輸出整數,後面不會有小數點,輸出小數時有幾位輸出幾位

16樓:匿名使用者

用字串讀入 gets(ch);

逐個字元輸出(判斷該字元是不是'-'或『+』,是就不輸出)

17樓:

你可以先判斷下數的正負,是負數的話就輸出原來數的負數,正的話就輸出原來的數!!

18樓:j這小子

小弟才疏學淺,確實不知道有能「做到整數就只有整數,小數原來有多少位就輸出多少位」的萬能資料型別。但是應該可以通過自己編寫的函式控制。

19樓:戀★殤

用字串吧親 這樣就不受型別限制了...

c語言,輸入正整數a,b,c輸出ab的小數形式,保留小數點

難道是輸入資料中的分隔符 逗號 惹的禍?沒有問題啊 題目要求的是只輸入一組資料還是要輸入多組?如果是要輸入多組的話要用到 c語言 輸入正整數a,b,c,輸出a b的小數形式,保留小數點後c位。a,b 1000000,c 100 include int main include 最大的精度 defin...

在C語言中,輸入兩個整數,輸出其中的大數

解 程式來一 a input a 源 b input b a a baib b b a disp a,b end程式二 du a input a b input b a a b disp a x a a b b x a a b disp a end思路分析 可以利用zhiinput語句輸入兩個正數,...

c語言從鍵盤任意輸入整數n程式設計計算並輸出

include include int prime int x void main for i 3 i n i 2 if prime i 1 printf n和為 d sum printf n 擴充套件bai 資料 c語言書寫規則 1.乙個說明或一du個語句佔zhi一行。2.用 括起來的dao部分,...