C语言提供了很多编写好的函数,供用户在编程时使用,这些函数被称为库函数,使用前一定要有#include命令将头文件包含进来。例如常用的printf()和scanf()函数就是需要先包含头文件#include <>。而要使用这些数学函数,就需要添加#include <>
下面介绍一些常用的数学函数:
①平方根函数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}
xn。如pow(1.1, 2)的值为1.21(即
1.
1
2
{1.1^2}
1.12)。
④指数函数exp(x)
:计算
e
x
{e^x}
ex。如exp(2.3)的值为9.974182。
⑤以e为底的对数函数log(x)
:计算
ln
x
{\ln x}
lnx。如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}} result=initial(1+factor)day,这个就是网上常的说坚持的力量的公式,其中initial是能力初始值,factor是努力参数,day是努力的天数,最后得到的result就是努力后的能力值。当然factor也可以是退步的参数。最后结果保留小数点后两位。
/*坚持的力量*/
#include <>
#include <> /*程序中调用了数学库函数,需包含头文件*/
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.01
Enter day: 365 ‾ \underline{365} 365
result = 37.78
Enter initial: 1 ‾ \underline{1} 1
Enter factor: − 0.01 ‾ \underline{-0.01} −0.01
Enter day: 365 ‾ \underline{365} 365
result = 0.03
其中下划线部分代表输入的数字,最后可以看到,不管是每天多以点点和每天少一点点,最后累计的效果都是很明显的。
参考 C语言程序设计(第4版)/何钦铭,颜晖
例题及课后习题参考程序:/sgxgitee/mooc-c