C语言常用数学函数

来源:互联网 发布:大数据量表设计 编辑:程序博客网 时间:2024/05/16 15:12
#include<windows.h>//源代码已经在DEV-C++编译通过#include<math.h>#include<iostream>using namespace std;const double pi = 2 * asin(1.0);int main(){ //测试一下pi  cout << "pi = " << pi << endl; cout << "pi / 2.0 = " << pi / 2.0 << endl; cout << "pi / 4.0 = " << pi / 4.0 << endl; cout << "//////////////////////////" << endl;  //1 三角函数 //double sin (double); //double cos (double); //double tan (double); cout << "sin(pi / 2.0) = " << sin(pi / 2.0) << endl; cout << "cos(pi / 2.0) = " << cos(pi / 2.0) << endl;//6.12303e-017 表示0  cout << "tan(pi / 2.0) = " << tan(pi / 2.0) << endl;//1.63318e+016 表示无穷大  cout << "//////////////////////////" << endl;  //2 反三角函数 //double asin (double);结果介于[-PI/2, PI/2] //double acos (double);结果介于[0, PI] //double atan (double);反正切(主值), 结果介于[-PI/2, PI/2] //double atan2 (double, double);反正切(整圆值), 结果介于[-PI/2, PI/2] //atan2(y,x)所表达的意思是坐标原点为起点, //指向(x,y)的射线在坐标平面上与x轴正方向之间的角的角度 cout << "asin(1.0) = " << asin(1) << endl; cout << "acos(1.0) = " << acos(1) << endl; cout << "atan(1.0) = " << atan(1) << endl; cout << "atan2(1.0,1.0) = " << atan2(1.0,1.0) << endl; cout << "//////////////////////////" << endl;  //3 双曲三角函数 //double sinh (double);双曲正弦sinhx = (e^(x) - e^(-x)) / 2 //double cosh (double);双曲余弦coshx = (e^(x) + e^(-x)) / 2 //double tanh (double);双曲正切tanhx = (e^(x) - e^(-x)) / (e^(x) + e^(-x)) cout << "sinh(1.0) = " << sinh(1.0) << endl; cout << "cosh(1.0) = " << cosh(1.0) << endl; cout << "tanh(1.0) = " << tanh(1.0) << endl; cout << "//////////////////////////" << endl;  //4 指数与对数 //double exp (double); //double pow (double x, double y); 计算x的y次方  //double log (double); 以e为底的对数 //double log10 (double); 以10为底的对数 cout << "exp(1.0) = " << exp(1.0) << endl; cout << "pow(2.0,10.0) = " << pow(2.0,10.0) << endl; cout << "log(1.0) = " << log(1.0) << endl; cout << "log10(1.0) = " << log10(1.0) << endl; cout << "//////////////////////////" << endl;   //5 取整 //double ceil (double); 取上整 //double floor (double);取下整  cout << "ceil(1.66) = " << ceil(1.66) << endl; cout << "floor(1.66) = " << floor(1.66) << endl; cout << "//////////////////////////" << endl;  //6 绝对值 //int abs(int);//求整数的绝对值  //double fabs (double);//求实数的绝对值  cout << "abs(-1) = " << abs(-1) << endl; cout << "fabs(-1.0) = " << fabs(-1.0) << endl; cout << "//////////////////////////" << endl;  //7 标准化浮点数 //double frexp (double f, int *p);标准化浮点数, f = x*2^p,已知f求x, p(x介于[0.5,1]),     //将p通过指针回传,返回x  //double ldexp (double x, int p);与frexp相反, 已知x, p求f int *p = new int; cout << "x = frexp(12345.6789,p) = " << frexp(12345.6789,p) << endl; cout << "p = " << *p << endl; delete p; p = NULL;  cout << "ldexp(1.23456789,12) = " << ldexp(1.23456789,12) << endl; cout << "//////////////////////////" << endl;  //8 取整与取余 //double modf (double, double*);将参数的整数部分通过指针回传, 返回小数部分 //double fmod (double x, double y);返回x除以y的余数 double *q = new double; cout << "小数部分 = modf(88.88,p) = " << modf(88.88,q) << endl; cout <<"整数部分 = *q = " << *q << endl; cout << "fmod(10.0,3.0) = " << fmod(10.0,3.0) << endl; delete q; q = NULL; cout << "//////////////////////////" << endl;   //9 开平方 //double sqrt (double); cout << "sqrt(9.0) = " << sqrt(9.0) << endl; cout << "//////////////////////////" << endl;   system("pause");return 0;}

                                             
0 0
原创粉丝点击