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

2021-04-20 21:55:50 字數 5148 閱讀 9016

1樓:匿名使用者

用字串讀入 gets(ch);

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

2樓:

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

3樓:j這小子

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

4樓:戀★殤

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

c語言數的輸出問題 : 如何可以實現計算結果是整數時輸出整數,是小數時輸出小數,就像一般的計算器一樣。

5樓:匿名使用者

//%g格式輸出浮點數時,不會輸出無意義的零。你試試。

#include

void main()

6樓:匿名使用者

判斷被 如果存在小數部分 用 %f輸出 如果沒有 用%d輸出

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

7樓:凌亂心扉

舉例說明如下:

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;

8樓:匿名使用者

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

9樓:靠名真tm難起

%nf 即輸出的bai

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

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

10樓:陳昇富你好

#include

void main()

以此類推權

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

11樓:黃

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

float a=3.14159;

printf("%3f",a);

輸出的結果為:3.141

12樓:匿名使用者

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

13樓:手機使用者

地址單元而定

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

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

void main(void)}

14樓:匿名使用者

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

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

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

c語言中怎麼輸出小數呢?

15樓:劍俠→戰天意

幫你改了一來個地方,加了源註釋,你看看:

#include

#include

main()

printf("a=%d\nb=%d",a,b);

}執行結果:

16樓:夢魔v迷

從int那邊直接用double代替應該可以

17樓:

float a=0.12;

printf("%f",a);

c語言,printf輸出實數時只保留整數可以用%d輸出麼?

18樓:鐵打的泥人

通常是不行的

比如:float a=5.6;

printf("%d",a);這是不行的

但是,如果要,一定要強制轉換,上面的形式是不會強制轉換的float a=5.6;

printf("%d",(int)a);這樣就行了float一般佔四位元組,int一般佔2位元組,size不同的數是不能亂輸的,不然資料丟失是肯定的

19樓:歡勒豆地主

你好,c語言輸出是這樣的

int 輸出用%d 輸出範圍-2^31至2^31-1float 輸出用%f

char 輸出用%c

long 輸出用%ld

在c語言中把一個小數賦值給int型別的然後用%d佔位符輸出,結果只輸出了整數部分

20樓:f立地成佛

你前面定義的哪個型別,你可以試一試%l,小數定義也可以試一試double

c語言以二進位制形式輸出整數程式,在數字後面加上其他字元再敲回車才有輸出,而單單隻有數字的時候沒有輸出

21樓:enjoy冰心玉壺

我把你的程式改好了,先把源程式複製在下面吧。我想輸出二進位制最好用「棧」這種資料結構,在程式中我先入棧,再出棧,出棧序列就是二進位制了。

//fee.cpp

#include

#include

#define stack_init_size 100#define stackincrement 10#define ok 1

#define overflow -1

#define error 0

typedef structsqstack;

s.stacksize+=stackincrement;

}*s.top=*e;

s.top++;

s.top--;

return 1;

}int to_binary(unsigned long n);

int main()

printf("done it.\n ");

return 0;

}int to_binary(unsigned long n)//printf("the ");

while(s.top!=s.base)

printf("\n");

return 0;

}執行結果如下所示,也可以自己跑一下程式,就看到結果了。

22樓:匿名使用者

字串以'\0'結尾代表字串的結束

c語言中的func型別是什麼,在C語言中,FUNC是什麼意思?

在c語言中沒有func型別,func一般是自定義函式的函式名 函式 的英語翻譯回 function 如以下 答 include int func int a 定義函式,函式名為funcvoid main 在這段 定義了函式func 其作用是返回a 1的值。沒有這個型別 這是一般書本里面用來給自定義函...

請問c語言中,unsigned int型別變數可以賦給int

可以賦值,正數無所謂,負數會有符號位的問題,賦值後會和原來不一樣,是因為負數在系統中是用補碼的形式存放的 這個可能會出現問題哦,只要數值不是大於2的七次方就不會出現任何問題,如果超過了,編譯器就會報錯說你放的數太大了。unsigned int可以賦值給int,加強制型別轉換。有溢位問題 有可能 比如...

C語言中構造型別資料指什麼,C語言的結構體型別是什麼資料 資料有哪些型別?

構造資料型別 構造資料型別是根據已定義的一個或多個資料型別用構造的方法來定義的。也就是說,一個構造型別的值可以分解成若干個 成員 或 元素 每個 成員 都是一個基本資料型別或又是一個構造型別。在c語言中,構造型別有以下幾種 c語言中的構造型別資料包括 結構 列舉 聯合 或者寫結構體和共用體也行 1 ...