C语言常用数学函数

#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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值