问题 E: C语言习题 求sinh(x)
题目描述
写一函数求sinh(x)的值,求sinh(x)的近似公式为 sinh(x) = (ex-e-x)/2 ,其中用一个函数求ex 。结果保留两位小数。
输入
x
输出
sinh(x)的值。
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double sinh(double x)
{
double a,b;
a=exp(x);
b=(a-1/a)/2;
return b;
}
int main()
{
double x;
cin>>x;
cout<<setiosflags(ios::fixed) <<setprecision(2);
cout<<sinh(x)<<endl;
return 0;
}
因为要求ex,所以要使用数学函数,要加数学库头文件(#include <cmath>),保留两位小数,要加标准输入输出流(#include <iomanip>)的头文件;
为了方便,先定义函数(double sinh(double x)),因为结果有小数,所以定义为双精度型(double)或单精度浮点型(float),利用数学公式计算出ex(a=exp(x);),再计算出sinh(b=(a-1/a)/2;);
在主函数输出结果时设置输出精度为两位小数(cout<<setiosflags(ios::fixed)<<setprecision(2);),再输出计算的结果(cout<<sinh(x)<<endl;)!