C程式問題,讀入雙精度數求它們平均值並保留此平均值小數點後一位,對小數點後第二位小數四捨五入

時間 2021-07-01 01:18:23

1樓:好求知

單精度實數在記憶體中佔32bit 有效數字為6~7位,雙精度實數佔記憶體單元為64bit 有效數字為15~16位。

所以雙精度數不是小數點後有兩個小數的數。

d*=10;

d+=0.5;

d/=10;

這三條語句是對小數點後第二位小數四捨五入。

例如d=1.26;

d*=10; // 12.6

d+=0.5; //13.1

d/=10; //1.31

printf("%.1lf\n",d); // 1.3很明顯,若小數點後第二位小數大於等於5,就會往前一位進位。就是四捨五入了。其實

d+=0.05;

就能實現了。

2樓:

/*讀入三個雙精度數,求它們的平均值並保留此平均值小數點後一位數,對小數點後第二位數進行四捨五入,最後輸出結果。*/

#include

#include

void main()

else

/*轉換成字串之後一個個字元輸出,好笨的辦法,求大神精闢*/printf("%d",h1);/*這裡是取雙精型的整,不用輸出字元*/

printf("%c",f[1]);

printf("%c",h2); /*h2是取asc碼的值,所以要輸出字元型資料*/

}else

printf("\n");

}else}

c語言初學者:編寫程式,讀入三個雙精度數,求它們的平均值並保留此平均值小數點後一位數,對小數點後第

3樓:匿名使用者

#include

int main(int argc, char *argv)

讀入三個雙精度數,求它們的平均值並保留此平均值小數點後一位數,對小數點後第二位數進行四捨五入

4樓:匿名使用者

那麼簡單了

相信你自己會做好的

5樓:匿名使用者

#include "stdio.h"

main()

6樓:匿名使用者

#include

int main()

題目:讀入三個雙精度數,求平均值並保留平均值小數點後一位數,對小數點後第二位數四捨五入。

7樓:木木青青

void main()

double型別的資料應該用%lf,float才是%f,

給你改好了,你試試

8樓:

為什麼編譯不出來呢?

讀入三個雙精度數,求它們的平均值並且保留此平均值小數點後一位數,對小數點後第二位數進行四捨五入.

9樓:

/*讀入三個雙精度數,求它們的平均值並保留此平均值小數點後一位數,對小數點後第二位數進行四捨五入,最後輸出結果。*/

#include

#include

void main()

else

/*轉換成字串之後一個個字元輸出,好笨的辦法,求大神精闢*/printf("%d",h1);/*這裡是取雙精型的整,不用輸出字元*/

printf("%c",f[1]);

printf("%c",h2); /*h2是取asc碼的值,所以要輸出字元型資料*/

}else

printf("\n");

}else}

10樓:

他寫的c++的,我寫個c的:

#include

main()

11樓:匿名使用者

#include

#include

using namespace std;

void main()

c語言怎麼求單精度和雙精度數值的範圍

可以看一下,裡面有一些相關的巨集定義。另外,整數的範圍可以看。 電子產品第一線 float和double的範圍是由指數的位數來決定的。float的指數位有8位,而double的指數位有11位,分佈如下 float 1bit 符號位 8bits 指數位 23bits 尾數位 double 1bit 符...

單精度數,雙精度數,整數,長整數的區別

八哥說科技 1 資料長度不同 單精度浮點數用4位元組儲存。雙精度浮點數用8位元組儲存,一般用於計算機變成中定義變數,佔用8個位元組儲存空間。整型在記憶體中可能佔2或4個位元組 通常分別在16位機和32位機上 其取值為基本整常數。長整型,長度至少32位,而64位類unix系統為64位。2 型別說明符不...

c語言中單精度和雙精度有什麼區別

單精度,也就是 float 在 32 位機器上用 4 個位元組來儲存的 而雙精度都是用 8 個位元組來儲存的。這是他們最本質的區別。由於儲存位不同,他們能表示的數字的範圍也不同,具體能表示多大的範圍,查一下手冊就知道了。精度不一樣,表示數的範圍也不一樣 回答你好 c語言中,單精度浮點型為float,...