目录

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