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} 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 <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.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版)/何钦铭,颜晖
例题及课后习题参考程序:https://gitee/sgxgitee/mooc-c

更多推荐

C语言-常用数学函数