常用的math函数
常用的math函数
fabs(double x)
该函数常用来给double类型变量取绝对值
#include<stdio.h>
#include<cmath>
//求绝对值
int main()
{
double db=-12.56;
printf("%.2f",fabs(db));//%.2f保留两位小数
return 0;
}
输出结果:12.56
floor(double x)和ceil(double x)
这两个函数分别用于double型变量的向下取整和向上取整,返回型为double型
#include<stdio.h>
#include<cmath>
//向下取整和向上取整
int main()
{
double db1=-5.2,db2=5.2;
printf("%.0f %.0f\n",floor(db1),ceil(db1));
printf("%.0f %.0f\n",floor(db2),ceil(db2));
return 0;
}
 输出结果:-6 -5
5 6
pow(double r,double p)
该函数用于返回r的p次幂,要求r和p都是double型
#include<stdio.h>
#include<cmath>
int main()
{
double db=pow(2.0,3.0);
printf("%f",db);
return 0;
}
输出结果:8.000000
sqrt(double x)
该函数用于返回double型变量的算数平方根
#include<stdio.h>
#include<cmath>
int main()
{
double db=sqrt(2.0);
printf("%f",db);
return 0;
}
输出结果:1.414214
log(double x)
该函数用于返回double型变量的以自然对数为底的对数
#include<stdio.h>
#include<cmath>
int main()
{
double db=log(1.0);
printf("%f",db);
return 0;
}
输出结果:0.000000
C语言中没有对任意底数求对数的函数,必须用换底公式来将以自然数为底数的对数转换为以e为底的对数
sin(double x),cos(double x)和tan(double x)
这三个函数分别用来返回double型变量的正弦值,余弦值和正切值
#include<stdio.h>
#include<cmath>
const double pi=acos(-1.0);
int main()
{
double db1=sin(pi*45/180);
double db2=cos(pi*45/180);
double db3=tan(pi*45/180);
printf("%f %f %f\n",db1,db2,db3);
return 0;
}
输出结果:0.707107 0.707107 1.000000
acos函数用来求反余弦。将pi定义为精确值acos(-1.0),因为cos(pi)=-1
asin(double x),acos(double x)和atan(double x)
这三个函数分别用来返回double型变量的反正弦值,反余弦值和反正切值
#include<stdio.h>
#include<cmath>
int main()
{
double db1=asin(1);
double db2=acos(-1.0);
double db3=atan(0);
printf("%f %f %f\n",db1,db2,db3);
return 0;
}
输出结果:1.570796 3.141593 0.000000
log(double x)
该函数用于将double型变量x四舍五入,其返回值是double型,需进行取整
#include<stdio.h>
#include<cmath>
int main()
{
double db1=round(3.40);
double db2=round(3.45);
double db3=round(3.50);
double db4=round(3.55);
double db5=round(3.60);
printf("%d,%d,%d,%d,%d\n",(int)db1,(int)db2,(int)db3,(int)db4,(int)db5);
return 0;
}
输出结果:3,3,4,4,4

浙公网安备 33010602011771号