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,...