请编写函数 fun, 其功能是: 分别求一个双精度数的整数部分和小数部分, 并通过指针返回。 例如: 程序输入的数为: 5104.7583, 则输出的整数部分是: 5104, 小数部分是: 0.758300。
时间: 2024-10-10 09:03:47 浏览: 23
好的,你可以编写这样一个函数 `fun` 来实现这个需求。以下是使用 C++ 语言的一个示例:
```cpp
#include <iostream>
// 定义结构体保存整数和小数部分
struct DoubleParts {
double integer;
double fraction;
};
// 函数声明
DoubleParts* getParts(double num);
// 函数实现
DoubleParts* getParts(double num) {
// 创建一个新的 DoubleParts 结构体指针
DoubleParts* parts = new DoubleParts();
// 求整数部分(截断)
parts->integer = static_cast<int>(num);
// 计算小数部分
parts->fraction = num - parts->integer;
return parts;
}
int main() {
double input = 5104.7583;
DoubleParts* result = getParts(input);
std::cout << "整数部分是: " << result->integer << ", 小数部分是: " << result->fraction << "\n";
// 销毁指针占用的内存
delete result;
return 0;
}
```
在这个程序中,我们首先创建了一个名为 `getParts` 的函数,它接受一个 `double` 类型的数值,然后创建一个新的 `DoubleParts` 结构体实例。接着,我们将数字的整数部分赋值给 `integer` 成员,并计算出小数部分存入 `fraction`。最后,函数返回指向这个结构体的指针。
在 `main` 函数中,我们使用这个指针获取并打印结果,然后记得释放 `parts` 所占的内存以避免内存泄漏。
阅读全文