⑴ c語言怎麼分離出浮點型數據的小數部分
很容易的
比如你的float數是
float a = 1.56;
使用強制轉換就可以向下取到float的整數部分
int inta = (int)a;
然後取差值就可以了
float diff = a - inta;
這樣可以滿足你的需求了
⑵ c語言中 怎麼將一個數的小數部門取出
一個數為x 小數部分是 x - (int)x,
x是負數的時候上述表達式也是負數, 用fabs函數取絕對值
代碼如下
⑶ c語言中怎麼把一個實數分解成整數部分和小數部分
#include
#include
void main()
{
double F;
double a;//存放整數部分
double b;//存放小數部分
printf("請輸入一個浮點數:");
scanf("%lf",&F);
a=floor(F);
b=F-a;
printf("將該數分解後:\n");
printf("整數部分:%lf\n",a);
printf("小數部分:%lf\n",b);
}
⑷ C語言中,小數位怎麼分離
頂一下我也想知道……
但是我這也有一種方法,但是不知道你做得來否
我想說的方法就是:把數值串的改成數組比如:a[n],b[n],c[n],n表示小數的位數,這樣a[1]-a[n]就表示出這個小數各個位數代表的數
然後,就是模擬計算原理,用循環或者while語句,從最底位開始相乘,給程序設置進位函數,判斷出每次相乘該向上一級加上的數值並把這次得到這這個相應的第n位的值給新的x[n],然後一級一級往上推~~~算出最後x[1]-x[n],再最後整合一下這組數最後整理成數字,但是也許沒辦法輸出,因為小數位太長,最後可能還是的用字元一個一個輸出
如果是用字元輸出就更容易了,直接把x[1]-x[n]輸出就可以(x數組表示的是小數位的,整數位的還得設置個新的,比如x[0]),比如你這次輸出的結果應該就是x[0].x[1]x[2]x[3]……x[n],
呵呵~不知道你理解我的意思沒有~感覺我也是菜鳥很高興和探討這問題
⑸ C語言拆分小數
#include <stdio.h>
#define MAX_LENGTH 100
int main(int argc, char *argv[])
{
// 原始小數
double n = 1.234;
// 小數的字元串形式
char str_n[MAX_LENGTH];
// 提取的整數部分
int integerPart[MAX_LENGTH],integerPartLength=0;
// 提取的小數部分
int decimalPart[MAX_LENGTH],decimalPartLength=0;
int i;
// 先將小數轉換成字元串形式
sprintf(str_n,"%lg",n);
// 將小數點前的部分拆分出來
for(i=0;str_n[i]!='\0' && str_n[i]!='.';i++)
integerPart[integerPartLength++] = str_n[i]-'0';
// 將小數點後的部分拆分出來
for(i++;str_n[i]!='\0';i++)
decimalPart[decimalPartLength++] = str_n[i]-'0';
// 輸出整數部分的每個數字
for(i=0;i<integerPartLength;i++)
printf("%d ",integerPart[i]);
// 輸出小數數部分的每個數字
for(i=0;i<decimalPartLength;i++)
printf("%d ",decimalPart[i]);
}
⑹ 編寫一個C語言程序使得小數分離
scanf("%f",&n); // %f -> float %lf -> double 要用double 就要是 %lf
gethch(); 作用是是程序停在這等待用戶輸入,因為有的編譯器執行完後,控制台窗口會立刻關閉,
這樣用戶就看不見輸出結果了。
⑺ C語言中如何將小數分成整數部分和小數部分
參見math.h中的庫函數modf
語法:
#include <math.h>
double modf( double num, double *i );
功能: 函數將參數num 分割為整數和小數,返回小數部分並將整數部分賦給i。
⑻ c語言怎樣分離小數與整數
c語言中要分離小數與整數,可以使用以下的代碼,將一個帶小數分離出整數部分和純小數部分:
double a=3.14,b;
int c;
c=a;
b=a-c;
printf("c=%d b=%g\n",c,b);
⑼ 一道c語言的題目,將整數與小數分離
1
轉化為字元串
2
以「.」分割為數組r
3
輸出r[0]、r[1] (不包括小數點)
有必要時,輸出前將r[0]、r[1] 轉化成數值
輸入正數c
var s:String=c.toString;
var r:Array=s.split(".");
var a:int=int(r[0]);
var b:int=int(r[1]);
輸出a(整數部分)、b(小數部分)、c(輸入的原數據)