《算法笔记》第2章
-
fabs(double x)
对double型变量取绝对值。
-
floor(double x)
和ceil(double x)
对double型变量进行向下取整和向上取整。
-
pow(double r, double p)
计算
r
p
r^p
rp 。
-
sqrt(double x)
返回算术平方根。
-
log(double x)
返回以自然对数为底的对数。
C语言中没有对任意底数求对数的函数,必须用换底公式转化,即
log
a
b
=
log
e
b
log
e
a
\log_ab = \frac{\log_eb} {\log_ea}
logab=logealogeb
-
sin(double x)、cos(double x)和tan(double x)
分别返回double型变量的正弦、余弦和正切值,参数要求是弧度制。
/*
求45°角的正弦、余弦和正切值
*/
#include<stdio.h>
#include<math.h>
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
-
asin(double x)、acos(double x)、atan(double x)
返回double型变量的反正弦值、反余弦值和反正切值。
-
round(double x)
将double型变量四舍五入,返回类型也是double型,需进行取整。
#include<stdio.h>
#include<math.h>
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