C语言-常用数学函数
C语言-常用数学函数
C语言提供了很多编写好的函数,供用户在编程时使用,这些函数被称为库函数,使用前一定要有#include命令将头文件包含进来。例如常用的printf()和scanf()函数就是需要先包含头文件#include <stdio.h>。而要使用这些数学函数,就需要添加
#include <math.h>
下面介绍一些常用的数学函数:
①平方根函数
sqrt(x)
:计算
x \sqrt{ x }
x
。如sqrt(9.0)的值为3.0。
②绝对值函数
fabs(x)
:计算
∣ x ∣ |{ x }|
∣
x
∣ 。如fabs(-4.29)的值为4.29。
③幂函数
pow(x, n)
:计算
x n {x^n}
x
n 。如pow(1.1, 2)的值为1.21(即
1 2 {1.1^2}
1
.
1
2 )。
④指数函数
exp(x)
:计算
e x {e^x}
e
x 。如exp(2.3)的值为9.974182。
⑤以e为底的对数函数
log(x)
:计算
ln x {\ln x}
ln
x 。如log(123.45)的值为4.815836。
上面的5个函数其返回类型都是double类型。
例:下面的代码是计算公式
r e s u l t
i n i t i a l ( 1 + f a c t o r ) d a y {result = initial(1+factor)^{day}}
r
e
s
u
l
t
=
i
n
i
t
i
a
l
(
1
f
a
c
t
o
r
)
d
a
y ,这个就是网上常的说坚持的力量的公式,其中initial是能力初始值,factor是努力参数,day是努力的天数,最后得到的result就是努力后的能力值。当然factor也可以是退步的参数。最后结果保留小数点后两位。
/*坚持的力量*/
#include <stdio.h>
#include <math.h> /*程序中调用了数学库函数,需包含头文件math.h*/
int main(void)
{
int day;
double factor, initial, result;
printf("Enter initial:"); /*提示输入initial*/
scanf("%lf", &initial);
printf("Enter factor:"); /*提示输入factor*/
scanf("%lf", &factor);
printf("Enter day:"); /*提示输入day*/
scanf("%d", &day);
result = initial*pow(1+factor, day); /*调用幂函数pow()计算*/
printf("result = %.2f\n", result);
return 0;
}
运行效果:
Enter initial:
1 ‾ \underline{1}
1
Enter factor:
0.01 ‾ \underline{0.01}
0
.
0
1
Enter day:
365 ‾ \underline{365}
3
6
5
result = 37.78
Enter initial:
1 ‾ \underline{1}
1
Enter factor:
− 0.01 ‾ \underline{-0.01}
−
0
.
0
1
Enter day:
365 ‾ \underline{365}
3
6
5
result = 0.03
其中下划线部分代表输入的数字,最后可以看到,不管是每天多以点点和每天少一点点,最后累计的效果都是很明显的。
参考 C语言程序设计(第4版)/何钦铭,颜晖
例题及课后习题参考程序:https://gitee.com/sgxgitee/mooc-c