1樓:匿名使用者
float dat= 1234.5678;
int a;//整數部分
float b;//小數部分a= (int)dat;//a= 1234b= dat - a;//b= 0.5678再用迴圈 a分別對10取餘和取整,餘數便是分離的資料, 整數部分在對10取餘和取整,直到整數小於時為止;
b 就直接乘以10, 在取出整數部分,再用迴圈 ,直到所要的精度
2樓:江偉
這個數是手動輸入的話,不妨以字串形式輸入,然後判斷是否數字字元
不是手動輸入的話,就不斷地求餘數啊。
對小數部分,不妨乘以10,再強制型別轉換成int型,然後求餘。
3樓:匿名使用者
1、如果這個數小,不考慮大數,可以用先列印整數部分,然後列印小數部分的方法。整數部分利用取餘運算得到每位數、然後翻轉。小數部分每次乘以10然後取整。
2、如果考慮大數,運用字元陣列儲存。逐個字元掃瞄,把不為點號的字元輸出。
4樓:
#include
#define max_length 100
int main(int argc, char *ar**)
5樓:匿名使用者
說明一下 double 和float是進過插值計算出來的 所以在計算機中進行計算 不會得到精確結果
除非不做運算來擷取小數字
例如 1.1234 如果1.1234-1 =1.1239999999999...
計算的例子
#include
int main()
getchar();
return 0;
} 字串獲取的例子
#include
int main()
return 0;}
6樓:匿名使用者
先sprinf到乙個字元陣列中. 然後迴圈用atoi轉換.
7樓:匿名使用者
整數沒問題,
while(n)
這樣就能拆成單獨的整數,但是是反序的,輸出需要從後面開始輸出但是小數不可以,建議字串輸入
因為浮點數的儲存是近似的,你可以試驗一下,除了如2的n次方分之幾外,其他的都是近似的
0.5 0.25 0.375等等是準確儲存外,其他的都不是準確儲存你可以試驗0.1的二進位制是多少,是個無限小數理論是這樣,那麼小數的計算就不可能準確的提取出單獨的整數
c語言 為什麼執行沒結果..求大神指導..怎麼修改,,,編寫程式拆分輸入實數的整數部分與小數部分..
8樓:
#include
int main(void)
void splitfloat (double x, double *intpart, double *fracpart)
你的兩個指標都沒指向具體的記憶體空間,往裡面寫內容就非法訪問了。
另外,你的splitfloat函式也沒調。
9樓:郝在益
void splitfloat (double x, double *intpart, double *fracpart);
printf(" ");
scanf("%lf", &x);
在後面新增一句
splitfloat (double x, double *intpart, double *fracpart);就可以 了
請問c語言問題:float型資料轉int,把整數部分和小數部分分開放在兩個int型變數裡,怎麼盡量減小誤差?
10樓:金色潛鳥
float型資料精度只有 有效數字 6-7 位,所以存放12345.53231 時,只能精確到 12345.53。
要存放 12345.53231,可以用 double 或 char s.
double 仍有回 10進製到2進製,2進製回答10進製的誤差問題。
#include
int main()
輸出:a=12345 b=53231
a=12345 b=53231
11樓:匿名使用者
首先定義變數 int a,b ; float c,d然後將c值賦予給a,即a得到c的整數部分
接著用d=c-a,d為c的小數部分
最後確定出你要精確的位數,將d乘以對應的10的n次方,就可以了
12樓:匿名使用者
這個看精度要求,浮點數本身就不是很精確的。如果要求很精確的分離兩者,可
內以從二進位制的定義著容手,float型資料定義如下: 1bit(符號位) 8bits(指數字) 23bits(尾數字)
可以考慮將其轉換為long,再將整數值扣除,從而獲得小數
13樓:匿名使用者
先把整數部分取出來,小數部分嘛,想保留多少位就放大10^n倍就行了
c語言中小數怎麼表示c語言中乙個數的小數如何表示
兩種表示方式 1 定點表示 必須有小數點。例如 0.123,123,123.0。2 指數表示 e或e之前必須有數字,指數必須為整數。例如 12.3e3 123e2,1.23e4。注意 浮點數常量預設為double型別,如果浮點數常量表示float型別,在末尾新增小寫的f或者大寫的f,表示此常量為單精...
如何用c語言表示數的小數次方,如何用c語言表示乙個數的小數次方
用pow 即可 例 求16的平方根,輸出4,double型 include main include include int main 在c語言中怎樣表示乙個數的 n 次方 c語言中計算乙個數的n次方可以用庫函式pow來實現。函式原型 double pow double x,double y 舉例如...
C怎麼拆分字串
string c a b e f string a c.split getvalue 0 tostring trim string b c.split getvalue 1 tostring trim 是這個意思嗎?分割時候,split的依據字元必須是一樣的。你要是這樣寫的話,這個符號不起作用,會傳...