算法笔记——常用的math函数

C语言提供了很多实用的数学函数供我们使用,如果要使用他们,可以加上math.h头文件,下面来介绍几种我们常用的数学函数。

fabs(double x)

该函数用于对double型变量取绝对值

#include
#include
int main(){
double a=-12.56;
printf("%.2f\n",fabs(a));
return 0;
/*结果为
12.56*/
}

floor(double x),ceil(double x)

前者用于double型变量向下取整,后者用于double型变量向上取整,返回类型为double型

#include
#include
int mian(){
double a=-5.2,b=5.2;
printf("%.0f %.0f\n",floor(a),ceil(b));
printf("%.0f %.0f\n",floor(b),ceil(a));
return 0;
/*结果为:
-6 6
5 -5
*/
}

pow(double r,double p)

该函数用于返回r^p,其中r,p均为double型

#include
#include
int main(){
double r=2.0,p=3.0;
printf("%f\n",pow(r,p));
return 0;
}
/*结果为
8.000000*/

sqrt(double x)

该函数用于返回double型变量的算术平方根

#include
#include
int main(){
double a=sqrt(2.0);
printf("%f\n",a);
return 0;
}
/*结果为
1.414214*/

log(double x)

该函数用于返回double型变量的自然数(e)对数为底的对数

#include
#include
int main(){
double a=log(1.0);
printf("%f\n",a);
return 0;
}
/*结果为
0.000000*/

sin(double x)、cos(double x)、tan(double x)

这三个函数分别用于返回double型变量的正弦值、余弦值、正切值,参数要求是弧度制

#include
#include
const double pi=acos(-1.0)//定义常量pi为精确值3.141593
int main(){
/*弧度=(角度*pi/180)*/
double a=sin(pi*45/180);
double b=cos(pi*45/180);
double c=tan(pi*45/180);
printf("%f,%f,%f\n",a,b,c)
return 0;
}
/*结果为
0.707107,0.707107,1.000000
*/

asin(double x)、acos(double x)、atan(double x)

三个函数分别返回double型变量的反正弦值、反余弦值、反正切值,参数为角度制

#include
#include
int main(){
/*角度=(弧度*180/pi)*/
double a=asin(1.0);
double b=acos(-1.0);
double c=atan(0.0);
printf("%f,%f,%f\n",a,b,c);
return 0;
}
/*结果为
1.570796,3.141593,0.000000
*/

round(double x)

该函数用于将double型变量x四舍五入,返回类型也是double型,需进行取整(强制转换)

#include
#include
int main(){
double a=round(3.40);
double b=round(3.45);
double c=round(3.50);
double d=round(3.55);
double e=round(3.60);
printf("%d,%d,%d,%d,%d\n",(int)a,(int)b,(int)c,(int)d,(int)e);
return 0;
/*结果为
3,3,4,4,4*/
}

你可能感兴趣的:(算法学习)