c語言浮點讀取到小數點3位並儲存到變數

時間 2021-09-11 22:33:38

1樓:匿名使用者

使用十進位制整數四捨五入的方法後自動切斷能達到保留小數,比如:12344.567到小數點後兩位,並在3四捨五入的:

雙x = 1234.567;整數xx,x * = 100,x + = 0.5; xx =(int )×x =(雙)xx/100;

2樓:金色潛鳥

計算機內部存放用2進位制。10進位制數存放時,要做 10到2進位制轉換,輸出時還要再轉換回來。

而 10進位制到2進位制,2進位制到10進位制,轉換時常常不能「化淨」,會引入誤差。

把數乘1000,化成整數,再化成double, 再除以1000.0 對於較小的數,可以,但對於大的double型數就困難了。因為int 型存不下那麼大的數。

要乾乾淨淨地 讀取到小數點後3位,可以改用字串變數存放,那就確確實實乾淨利落的 小數點後3位。

例如:#include

int main()

3樓:

#include

int main(void)

4樓:匿名使用者

if(y < 0.0)

x = (int)((1000 * y + 0.5)/1000)*sign;

讀取一個單精度浮點數並輸出它(保留小數點後3位)c語言

5樓:丁家宜大寶

#include

int main()

如果要求

四捨五入的話 就這樣了 (float如果不行的話就用專double) 大概就是屬這樣了

6樓:谷歌三下也知道

#include

void main()

c語言程式設計序時怎麼控制浮點型輸出的小數點精確到幾位

7樓:匿名使用者

使用輸出格式說明符來指定精確到小數點位數。

如:void main()

其中%.3f裡的3就表示輸出精確到小數點後3位。

所以可參考的形式是printf("%m.nf",p);

%m.nf,指定輸出的資料共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。

8樓:天雲一號

可以通過輸出格式說明符來指定精確到小數點後幾位。

比如:printf("%2.3f\n", 3.1415926) // 輸出_ 3.142 (其中_ 代表空格)

上面的輸出格式說明符%2.3f 中各部分意思如下:

2—— 表示整數部分以固定2位寬度輸出。如果資料的位數小於2,則左端補以空格,若大於2,則按實際位數輸出。

.3——(3的前面有個小數點)表示輸出精確到小數點後3位。如果實際數字不足3位,則在末尾補0,若大於3位,則按四捨五入取前三位。

9樓:匿名使用者

%m.nf

最小域寬m

精度n:%f,%e,%e時,確定顯示小數點後位數

10樓:林嶺飛狐

printf("%m.nf",p);

%m.nf,指定輸出的資料共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。

還有一種:%-m.nf,與%m.nf基本相同。只是數值長度小於m,則右端補空格。而%m.nf是如果數值長度小於m,則左端補空格

11樓:手機使用者

printf("%.2f',v);

%.2f,.2是指輸出小數點後面幾位

精確幾位就填上

%「點幾」f

12樓:匿名使用者

你這幾個題看起來簡單,做起來很費時間呀,這幾個題我已經除錯完畢,你自己除錯下看看,不知能否滿足你的要求,哈哈!

1.#include

void main()

2.1#include/*c程式***/

void main()

for(i=0;i<3;i++)

} 2.2

#include

void main()}}

3.#include

void main()

4.#include

#define n 5

struct student

stu[n];

void main()

printf("\n");

}print(stu);

}void print(struct student stu[6]) }

13樓:匿名使用者

printf("%.nf",p);

p變數,n精確位數,n一般不超過6,大於6一般不精確

14樓:匿名使用者

例如:printf("%2.f %3.f",1.66666,1.66666);

輸出就是 1.66 1.666

15樓:匿名使用者

你要輸到好多位,用在**...

c語言有3位小數的浮點型數字輸出後怎麼最後一位會多出一個1?

16樓:匿名使用者

浮點數在儲存的時候 是近似值

所以 在列印的時候多一點 少一點 都是正常的於是 在程式設計的時候,一般不會用%f 而是取一定位數,比如 %.3f 保留三位小數。

如果你要要求前六位都是完全精確的值,那麼可以使用double注意 輸出的時候用%lf

17樓:匿名使用者

浮點型預設的就是6位小數。如果你想輸出三位小數的話

就把你原句中printf("%f",a[i]);改為printf("%.3f",a[i]);

注意那個點

c語言浮點型小數點後為多少位

18樓:假面

單精度浮

點型小bai數點後面有du效數字為

zhi7位和雙精度浮點型小數點後面有dao效版數字為16位。

單精度在一些權處理器上比雙精度更快而且只佔用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。當需要小數部分並且對精度的要求不高時,單精度浮點型的變數是有用的。

例如,當表示美元和分時,單精度浮點型是有用的。在foxpro中,單精度浮點型是為了提供相容性,浮點資料型別在功能上等價於數值型。

19樓:great小明童鞋

浮點型變數分為單精度(float型)、雙精度(double型)、長雙精度(long double型)3類,單精度浮點型小數點後專

面有效數屬字為6~7位和雙精度浮點型小數點後面有效數字為15~16位,單精度為32位,雙精度為64位,8位為一個位元組。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。

c語言是什麼:

首先,人類發明了計算機,需要與計算機「交流」,即寫入和讀出,而且硬體需要與軟體相配才能發揮作用,這樣必須發明一中語言讓人類與機器能夠交流,就誕生了機器語言,也就是低階語言。同時因為機器硬體畢竟不如人聰明(耶~),而且二進位制也是最貼近硬體的語言,所以發明的語言也是最簡單的二進位制,而普通人甚至是科學家也難懂,所以發明了一些高階語言,如同c語言,c++等等。

20樓:文化廚子

c語言中浮點型bai一般du分為float單精度型、zhidouble雙精度型、long double長精度型,單精dao度浮點型小內數點後面有效數字為容6~7位和雙精度浮點型小數點後面有效數字為15~16位。

在c語言標準庫標頭檔案float.h定義了浮點數小數點後的有效位數 :

//float.h標頭檔案的部分**

#define dbl_dig 15    //雙精度小數點後15位#define flt_dig 6     //單精度小數點後6位#define ldbl_dig 19   //長雙精度小數點19

21樓:a九尾妖姬

c語言來中浮點型一般分為float單精度源型、double雙精度型、long double長精度型,單精度浮點型小數點後面有效數字為6~7位和雙精度浮點型小數點後面有效數字為15~16位。

在c語言標準庫標頭檔案float.h定義了浮點數小數點後的有效位數 :

//float.h標頭檔案的部分**

#define dbl_dig 15 //雙精度小數點後15位#define flt_dig 6 //單精度小數點後6位#define ldbl_dig 19 //長雙精度小數點19

22樓:匿名使用者

1.有效數字:

c語言bai中浮點型一du般分為float單精zhi度dao型、double雙精度型

單精度浮點型小數點後面專有效數字為屬7位和雙精度浮點型小數點後面有效數字為16位。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。

2.位元組:

位元組是計算機資訊科技用於計量儲存容量的一種計量單位,也表示一些計算機程式語言中的資料型別和語言字元。一個英文字母(不分大小寫)佔一個位元組的空間,一箇中文 漢字佔兩個位元組的空間。一個 二進位制數字序列,在 計算機中作為一個數字單元,一般為8位二進位制數佔一個位元組,換算為 十進位制就是0~255。

23樓:匿名使用者

4個位元組是32位,比如32個1 七位有效就是隻記錄小數點後的六位,剩下的就不精確了 比如剩下的全用0代替了 ,顯示預設只有六位,可以控制!

24樓:瘋狂夏風翼

浮點型變數分為單bai

精度(dufloat型)、雙精度(double型)、長雙zhi精度dao(long double型)3類,內單精度浮點型小

數點後面有容效數字為6~7位和雙精度浮點型小數點後面有效數字為15~16位,單精度為32位,雙精度為64位,8位為一個位元組。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.

314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。希望你能明白~~~樂意為您開心服務~~~

25樓:匿名使用者

他那個有效數抄字就是比如說

baiflaot i = 3.12345678; float的有效數字為6位, 那麼du你輸出的時zhi候就會混沌化,也就是精度dao丟失,printf(「%lf」,i); 那麼他就會輸出3.12345754什麼的,也就是說當值多於有效數字的時候,那麼超出的部分值就是不可靠的值。

26樓:匿名使用者

單精度是七位,雙精度是十五位

寫一段簡單的c語言程式: 輸入一個double型別的數,使它保留小數點後兩位,對第三位四捨五入處理

27樓:匿名使用者

1 輸入double型別數。

2 利用取整,將第三位四捨五入。

3 輸出結果。

注意,不可以直接以%.2lf輸出,因為題目要求的是在程式中四捨五入處理,而不是僅僅輸出四捨五入後的結果。

**:#include

int main()

28樓:匿名使用者

#include

int main()

//無論

是3.456還是3.45615...都滿足條件哈!

在c語言計算出的結果中怎麼保留小數點後兩位

29樓:風若遠去何人留

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

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

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

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

30樓:倒黴熊

比如float a = 23.456789;

printf("%.2f",a); //輸出為23.45

c語言中小數點算不算一位啊?謝了

c語言中小數點算1位。例如將4.1通過 4.1lf輸出的話那麼具體的4列的格式是 空格4.1,空格佔一列,小數點佔一列,所以小數點算一位。a a 5這個式子好像有誤,是不是少寫了一個 u 是無符號整數,輸出後的十六進位制是ffff.f0,由你定義變數時決定長度,不看符號化成十進位制即可 在輸出時,小...

c 怎麼顯示小數點後面的有效數字

go陌小潔 有三種情況 c 預設輸出的為有效數字 1.輸出時最多保留3位有效數字 include include 必須包含的標頭檔案 using namespace std int main 結果 3.10 2.輸出時保留小數點後3位 include include 必須包含的標頭檔案 using ...

C中,輸入正整數a,b,c,a除以b小數點保留到c位,c100,a,b1000000的具體思路

這個可以滿足你的要求,就是模擬人工除法 include void main int a,b,c,i,yushu scanf d d d a,b,c yushu a b printf d.a b for i 0 i 汐日南莘 思路就是當分子小於分母時,分子乘10,然後分子除分母,這個結果就是小數,結果...