C语言的数学库函数之<math.h>函数库
1、 三角函数
double sin(double); 正弦
double cos(double); 余弦
double tan(double); 正切
#include <stdio.h>#include <math.h>#define PI 3.1415926int main(){double a,b,c;a = sin(30.0 / 180 * PI); //角度要转换成弧度制b = cos(30.0 / 180 * PI); //角度要转换成弧度制c = tan(30.0 / 180 * PI); //角度要转换成弧度制printf("正弦值:%f\n余弦值:%f\n正切值:%f\n",a,b,c);}输出结果:正弦值:0.500000余弦值:0.866025正切值:0.577350
2 、反三角函数
double asin (double); 反正弦 , 介于[-π/2,π/2]
double acos (double); 反余弦 , 介于[0,π]
double atan (double); 反正切, 介于[-πI/2,π/2]
double atan2 (double,double); 反正切2,结果介于[-π,π]
说明:若tanβ=a/b;那么β==atan(a/b的结果)==atan2(a值,b值)#include <stdio.h>#include <math.h>#define PI 3.1415926int main(){double a, b, c,d;a = asin(0.5) * 180 / PI; //转换成角度值°b = acos(0.5) * 180 / PI; //转换成角度值°c = atan(-1) * 180 / PI;//转换成角度值°d = atan2(0.2,-0.2) * 180 / PI; //转换成角度值° -1 = -0.2/0.2;printf("反正弦值: %f\n反余弦值: %f\n反正切值: %f\n反正切值2:%f\n", a, b, c,d);}输出结果:反正弦值: 30.000001反余弦值: 60.000001反正切值: -45.000001反正切值2: 135.00002 返回的角度不同,可确定象限;
3 、双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 、指数与对数
double exp (double);求取自然数e的幂
double sqrt (double);开平方
double log (double); 以e为底的对数
double log10 (double);以10为底的对数
double pow(double x, double y);计算以x为底数的y次幂
float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数
5 、取整
double ceil (double); 取上整
double floor (double); 取下整
6 、绝对值
double fabs (double);求绝对值
double cabs(struct complex znum) ;求复数的绝对值
7 、标准化浮点数
double frexp (double f, int *p); 例如: f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 、取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分
double fmod (double, double); 返回两参数相除的余数
9 、其他
double hypot(double x, double y);已知直角三角形两个直角边,求斜边长度
double ldexp(double x, int exponent);计算x*(2的exponent次幂)
double poly(double x, int degree, double coeffs [] );计算多项式
nt matherr(struct exception *e);数学错误计算处理程序
牛客网C语言<math.h>数学标准库