当前位置:首页 » 编程语言 » 把整数与小数分开c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

把整数与小数分开c语言

发布时间: 2022-05-24 01:14:30

❶ 编写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(){

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语言强制转换浮点数为整数的话,会丢失精度,也就是小数部分,再把原来的数减去整数部分,就可以得到小数部分,然后定义变量把相应的部分存储,打印出来就行了。

❸ 如何用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语言中如何将小数分成整数部分和小数部分

参见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语言中如何区别小数和整数

C语言中有int
,lang,float,double,其中整形有lang和int,lang是长整形,float是单精度浮点型,double是双精度浮点型,浮点型就是小数,整形就是整数,明白了吗?

❼ 一道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语言,把一个数的整数和小数分开显示。我这个程序哪里错了呢

是传址,不是传值

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);
}