输入一个double型实数x,计算出y=ex+log2x+3x的结果,分别输出y的值,y的整数部分、和两种形式的小数部分,一种是小数部分以四舍五入方式保留5位小数部分,还有一种以截断方式显示小数点后5位。c++
时间: 2024-03-05 21:53:46 浏览: 113
【c语言】输入一个浮点数(小数点后面有三位数),然后分别求出输出该数的整数部分和小数部分。
可以使用cmath头文件中的exp、log2函数来计算ex和log2x,然后再加上3x即可。以下是实现代码:
```c++
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
double x, y;
cout << "请输入一个实数x:";
cin >> x;
y = exp(x) + log2(x) + 3 * x;
cout << "y的值为:" << y << endl;
int intPart = int(y);
cout << "y的整数部分为:" << intPart << endl;
double decimalPart = y - intPart;
cout << "y的小数部分(四舍五入保留5位)为:" << setprecision(5) << fixed << decimalPart << endl;
cout << "y的小数部分(截断保留5位)为:" << setprecision(5) << decimalPart << endl;
return 0;
}
```
输出结果类似于:
```
请输入一个实数x:2.5
y的值为:31.5273
y的整数部分为:31
y的小数部分(四舍五入保留5位)为:0.52729
y的小数部分(截断保留5位)为:0.52729
```
注意,需要使用setprecision函数来设置小数位数,并使用fixed修饰符来固定小数点后的位数。
阅读全文