用c语言实现一个拆分实数的整数与小数部分的简单函数
时间: 2024-05-13 22:17:26 浏览: 14
以下是一个简单的C语言函数,可以将实数拆分为整数和小数部分:
```c
#include <stdio.h>
void split(double num, int *int_part, double *frac_part) {
*int_part = (int)num; // 取整数部分
*frac_part = num - *int_part; // 取小数部分
}
int main() {
double num = 3.14159;
int int_part;
double frac_part;
split(num, &int_part, &frac_part);
printf("整数部分: %d\n", int_part);
printf("小数部分: %f\n", frac_part);
return 0;
}
```
在上面的代码中,`split` 函数将传入的实数 `num` 的整数部分和小数部分通过指针返回。在 `main` 函数中,我们定义了一个实数 `num`,然后调用 `split` 函数将整数部分和小数部分存储到变量 `int_part` 和 `frac_part` 中,并打印出来。输出结果如下:
```
整数部分: 3
小数部分: 0.141590
```
相关问题
c语言编写函数实现将一个浮点数拆分成整数与小数两部分
可以使用C语言中的modf函数来实现将一个浮点数拆分成整数与小数两部分的功能。具体实现如下:
```c
#include <stdio.h>
#include <math.h>
void split_float(float num, int *integer_part, float *decimal_part) {
*decimal_part = modff(num, integer_part);
}
int main() {
float num = 3.1415926;
int integer_part;
float decimal_part;
split_float(num, &integer_part, &decimal_part);
printf("Number: %f\nInteger part: %d\nDecimal part: %f\n", num, integer_part, decimal_part);
return 0;
}
```
运行结果:
```
Number: 3.141593
Integer part: 3
Decimal part: 0.141593
```
在函数中,使用modff函数将浮点数num分为整数部分和小数部分,其中整数部分存储在指针变量integer_part所指向的位置,小数部分存储在指针变量decimal_part所指向的位置。在调用该函数时,需要传递对应变量的地址作为参数。
用C语言double函数写分离小数整数部分与小数部分
您好,我可以回答这个问题。使用C语言中的double函数,可以通过以下代码将一个浮点数分离成整数部分和小数部分:
```
#include <stdio.h>
int main() {
double num = 3.1415926;
int integer_part = (int)num;
double decimal_part = num - integer_part;
printf("整数部分:%d\n", integer_part);
printf("小数部分:%lf\n", decimal_part);
return ;
}
```
在这个例子中,我们将3.1415926赋值给一个double类型的变量num。然后,我们使用强制类型转换将num的整数部分转换为int类型,并将其赋值给一个名为integer_part的变量。接下来,我们计算num的小数部分,即num减去其整数部分,将结果赋值给一个名为decimal_part的变量。最后,我们使用printf函数输出整数部分和小数部分。
希望这个回答对您有帮助!