Ⅰ 一道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(輸入的原數據)
Ⅱ C語言中強制轉換數據類型如何將一個實數分離成整數部分和小數部分
#include <stdio.h>
#include <math.h>
int main() {
double x=3.1415, intpart; //為變數賦初值
double fractpart = modf(x, &intpart); //求3.1415的小數部分
int intNum=(int)x;
printf("%lf的整數部分是:%d,小數部分是:%lf\n", x,intNum,fractpart);
return 0;
}
Ⅲ c語言怎樣分離小數與整數
c語言中要分離小數與整數,可以使用以下的代碼,將一個帶小數分離出整數部分和純小數部分:
double a=3.14,b;
int c;
c=a;
b=a-c;
printf("c=%d b=%g\n",c,b);
Ⅳ 如何用C語言把一個數的正負號 、整數部分、小數部分區分出來
代碼如下:
#include <stdio.h>
int main(){
double number; //其中number表示輸入的數
int zhengshu; //表示實數的整數部分
double xiaoshu; //表示整數的小數部分
printf("請輸入一個實數:"); //提示輸入一個數
scanf("%lf",&number);
zhengshu = (int)number;
xiaoshu = number-zhengshu;
printf("%f整數部分為:%d,小數部分為:%f ",number,zhengshu,xiaoshu);
return 0;
}。
程序執行結果:
Ⅳ 編寫c語言程序拆分輸入實數的整數部分與小數部分,用指針數組做,大神幫忙啊
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int SplitRealNumber(double RealNumber, int *RealPart, int *DecimalPart)
{
char RealNum[100] = {0};
char *rr[100];
int RealNumLength = 0;
int i = 0;
char *Tmp1;
char *Tmp2;
char tt[2] = {0, 0};
for (i = 0; i < 100; i++)
{
rr[i] = &RealNum[i];
}
sprintf(RealNum, "%lf", RealNumber);
RealNumLength = strlen(RealNum);
for (i = 0; i < RealNumLength; i++)
{
tt[0] = *rr[i];
tt[1] = '\0';
if (0 == strcmp(tt, "."))
{
printf("strcmp ok, i = %d \n", i);
break;
}
//printf("RealNum[%d] = %c \n", i, RealNum[i]);
}
Tmp1 = rr[0];
*RealPart = atoi(Tmp1);
if (i < (RealNumLength - 1))
{
Tmp2 = rr[i + 1];
printf("Tmp2 = %s \n", Tmp2);
*DecimalPart = atoi(Tmp2);
printf("DecimalPart= %d \n", *DecimalPart);
}
else if(i == (RealNumLength - 1))
{
printf("RealNumber err \n");
}
else
{
*DecimalPart = 0;
printf("DecimalPart == 0 \n");
}
return 0;
}
void main()
{
double a = 103.012345;
int res;
int realPart, decimalPart;
printf("a = %lf \n", a);
res = SplitRealNumber(a, &realPart, &decimalPart);
printf("res = %d \n", res);
printf("realPart = %d \n", realPart);
printf("decimalPart = %d \n", decimalPart);
printf("\n");
a = -123.978912;
printf("a = %lf \n", a);
res = SplitRealNumber(a, &realPart, &decimalPart);
printf("res = %d \n", res);
printf("realPart = %d \n", realPart);
printf("decimalPart = %d \n", decimalPart);
printf("\n");
a = 1.2;
printf("a = %lf \n", a);
res = SplitRealNumber(a, &realPart, &decimalPart);
printf("res = %d \n", res);
printf("realPart = %d \n", realPart);
printf("decimalPart = %d \n", decimalPart);
printf("\n");
a = -1.1;
printf("a = %lf \n", a);
res = SplitRealNumber(a, &realPart, &decimalPart);
printf("res = %d \n", res);
printf("realPart = %d \n", realPart);
printf("decimalPart = %d \n", decimalPart);
printf("\n");
a = 1;
printf("a = %lf \n", a);
res = SplitRealNumber(a, &realPart, &decimalPart);
printf("res = %d \n", res);
printf("realPart = %d \n", realPart);
printf("decimalPart = %d \n", decimalPart);
}
在我的VC上,%lf存的數據要小數點後6位,導致小數部分的值後面可能有一串0,好煩。。。你隨便看下吧,哎。
Ⅵ 請大家幫我設計一個c語言程序 題目:任意輸入一個數,分別輸出整數和小數部分
#include<stdio.h>
int main()
{ float num=0,shenyu=0; long i=0;
scanf("%f",&num);
printf("THE number is %f\n",num);
i=(int)num;
shenyu=num-i;
printf("你輸入的數為:%f\n,整數部分 is:%d\n, 小數部分is:%f",num,i,shenyu);
return 0;}
Ⅶ C語言整數和小數部分分
#include <stdio.h>
main()
{double n;
scanf("%lf",&n);
printf("整數部分是%.0f,小數部分是%f\n",n,n-(int)n);
}
Ⅷ C語言,把一個數的整數和小數分開顯示。我這個程序哪裡錯了呢
是傳址,不是傳值
int main (void)
{
float i;
int a;//改
float b;//改
scanf("%f",&i);
t (i,&a,&b);//改
printf("%d\n",a);//改
printf("%f\n",b);//改
return 0;
}
Ⅸ c語言中怎麼把一個實數分解成整數部分和小數部分
#include<stdio.h>
#include<math.h>
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語言中如何將小數分成整數部分和小數部分
參見math.h中的庫函數modf
語法:
#include <math.h>
double modf( double num, double *i );
功能: 函數將參數num 分割為整數和小數,返回小數部分並將整數部分賦給i。