當前位置:首頁 » 編程語言 » 怎麼用c語言求得小數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼用c語言求得小數

發布時間: 2022-07-14 23:14:37

1. 在c語言中有沒有什麼樣的方法能求出一個小數的小數部分

a-=(int)a;
(int)a將a強制轉換為正整數,直接舍棄小數部分。
執行上面的a-=(int)a; 得到的a不就是原來的小數部分么?
我說的明白?

2. C語言中如何求小數

如果要求小數,數的定義必須為float或double類型。

3. c語言如何取小數,比如說輸入1.23輸出23,輸入1.001輸出001;我這個不對,求大神

你的程序沒有錯。
問題是浮點數本來就是不能精確表示的。
比如輸入1.23,那麼在xj=m-temp;這一句執行後,在VC里用F5調試的時候,你會發現xj的值不是0.23,而是0.22999999999……。
所以你的程序沒有錯,只是純粹是理論上的。

4. C語言求最小數的問題

c語言中用來存儲小數的doube(雙精度數)是8個位元組。整數部分4個位元組,小數部分4個位元組。
4個位元組一共能夠表達4294967296個數字,而小數中0到1之間有無窮個小數,所以計算機是無法表示真正精確的小數的。

5. c語言中如何求最小數

c語言中用於描述小數的數據類型是float和double,float類型表示單精度浮點數,double表示雙精度浮點數。
c語言中浮點數常量有兩種表示方式:
1、定點表示:(必須有小數點)
如:0.123,
.123,
123.0。
2、指數表示:(e或e之前必須有數字,指數必須為整數)如:12.3e3
,123e2,
1.23e4。
錯誤的寫法:e-5
,1.2e-3.5,e3。
注意:浮點數常量默認為double類型,如果浮點數常量表示float類型,請在末尾添加小寫的f或者大寫的f,表示此常量為單精度浮點常量。
float f1 = 1.1f; //小寫f
float f2 = 1.1f; //大寫f
double d = 1.1; //double類型

6. 求C語言小數精確計算

你好,在編程中不要指望去得到一個精確的數字,而應該是頂一個誤差范圍(相對誤差)。如 double eps = 0.000000001;然後再把數字與 eps 比較。
if((68 - n)<eps)即認為 n = 68;。當然,這是人工處理。如果想得到精確數字,可以用 Boost 庫。

7. C語言中除法怎麼取得小數

1、打開C-Free,新建文件。

8. 如何用c語言計算小數點後位數

這個要看小數按什麼格式輸入。

如果按%s輸入,也就是按字元串格式輸入,先找到小數點的位置,然後統計下小數點後數字的長度。

具體實現可參考:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d ",strlen(strstr(a,".")+1));
else
printf("0 ");
}
system("pause");
return0;
}

這是最後一個已經出現錯誤,所以遇到要精確判斷小數點的位數,最好直接按字元串讀入,這和圖靈機的工作原理暗暗相合。

9. 如何用c語言計算小數點後位數(float本身都無法精確)

float以10進制只有7個有效數字,如果你存的數大於7位那麼一定會不準確,小於7位的就准確,其實float只有前7位有意義,有時會只有6位有意義。。。 也就是說你只用用7-整數位數就行,如果整數位為0,那麼你只需要7+第一個不是0的小數所在位置即可,即此時小樹位數是大於7的,但有效數字個數仍然是7。。。。

10. C語言中除法怎麼取得小數

除了一開始用float進行定義之外,後面進行除法運算的時候要加.0,否則算出的結果電腦會自動取整~~如:3/2的結果和3.0/2的結果就不同~~因為沒有定義3/2為浮點型,所以3/2自動取整,結果等於1而3.0/2,由於預先用浮點型表示其結果顯然為:1.5 除法運算符" / ",如果是兩個整數相除結果為整數如果需要保留小數時 必須將其中一個除數轉換為浮點數 #i nclude <stdio.h> #i nclude <math.h> main() { float x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((5*x+1)/(x*x+1)); printf("y is %f\n",y); } 或者 #i nclude <stdio.h> #i nclude <math.h> main() { int x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((float)(5*x+1)/(x*x+1)); printf("y is %f\n",y); }