1. 主页
  2. 文档
  3. Level1题解(1-10)
  4. 附.常用数学函数

附.常用数学函数

在 C++ 中,除了可以创建各种函数,还包含了各种有用的函数供您使用。这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。为了利用这些函数,您需要引用数学头文件 <cmath>

函数名格式功能说明列子
绝对值函数abs(x)求一个数的绝对值abs(-5) = 5
自然数指数函数exp(x)求实数x的自然指数eexp(1)=2.718282
向下取整floor(x)求不大于实数x的最大整数floor(3.14) = 3
向上取整ceil(x)求不小于实数x的最小整数ceil(3.14) = 4
自然对数函数log(x)计算x的自然数对数log(1) = 0
指数函数pow(x,y)计算xy 结果为双精度实数pow(2,3) = 8
随机函数rand()产生0 到 RAND-MAX之间的随机数
平方根函数sqrt(x)求实数x的平方根sqrt(25) = 5

常用的数学函数:

1.开平方 double sqrt(double x);

2.求常数e的x次方 double exp(double x);

3.求x的y次方 double pow(double x, double y);

4.求对数ln(x) double log(double x);

求对数lg(x) double log10(double x); 其他用换底公式

5.求x绝对值 int abs(x); long int abs(long int x); double fabs(double x);

6.取整函数

向上取整 : ceil(x)返回的是大于x的最小整数。

double ceil(double x); 如:ceil(10.5) == 11    ceil(-10.5) ==-10

向下取整 : floor(x) 返回的是小于或等于x的最大整数。

double floor(double x); 如:floor(10.5) == 10    floor(-10.5) == -11

fix (x) 朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;

round (x) 四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2

7.产生随机数 0~32767 int rand(void);

8.取整与取余 
double modf (double value, double* iptr); 将参数的整数部分通过指针回传, 返回小数部分,将双精度数value分解成尾数和阶
double fmod (double x, double y); 返回两参数相除的余数 , 返回x/y的余数

9.三角函数 求正弦 double sin(double x); 求余弦 double cos(double x); 求正切 double tan(double x); 反正切 double atan(double x);

10.反三角函数 
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]

11.  π的表示 const double pi = acos(-1.0);

12.三角形 , 任意两边之和大于第三边 if(a+b>c&&a+c>b&&c+b>a)

13. 闰年的判断 if(n%400==0||n%4==0&&n%100==0)能被4整除并且能被100整除或者能被400整除