c语言 指数函数怎么表达?谢谢

Python09

c语言 指数函数怎么表达?谢谢,第1张

在开始加上#include <math.h>;

程序中就可以调用pow(x,y)。

main()

{

double z

z=pow(10,5)

printf("%lf/n",z)

}

输出结果:

285.000000

扩展资料

c语言求自然对数的底e的指数,可以使用函数exp().

exp()的头文件:#include

exp()的函数原型:double exp(double x)

exp()函数的作用:返回e的x次方。

exp()的相关函数:float expf(float x)

long double expl(long double x)

注:自然对数的底e叫做: 欧拉数(eula's number)

用pow()函数

如:

#include <stdlib.h>

#include <math.h>

#include <conio.h>

void main()

{

printf("10^20=%f",pow(10.,20.))

getchar()

}

基本性质

(1) 指数函数定义域为R,这里的前提是a大于0且不等于1。对于a不大于0的情况,则必然使得函数的定义域不连续,因此我们不予考虑,同时a等于0函数无意义一般也不考虑。

(2) 指数函数的值域为(0, +∞)。

(3) 函数图形都是上凹的。

(4) a>1时,则指数函数单调递增;若0单调递减的。

以上内容参考:百度百科-指数函数

C语言中的POW函数使用:

#include<stdio.h>

#defineACCURACY100

doublefunc1(doublet,intn)

doublefunc2(doubleb,intn)

doublepow2(doublea,doubleb)

intmain(){

printf("%lf",pow2(5.21,4.11))

return0

}

doublepow2(doublea,doubleb){

if(a==0&&b>0){

return0

}

elseif(a==0&&b<=0){

return1/0

}

elseif(a<0&&!(b-(int)b<0.0001||(b-(int)b>0.999))){

return1/0

}

if(a<=2&&a>=0){

doublet=a-1

doubleanswer=1

for(inti=1i<ACCURACYi++){

answer=answer+func1(t,i)*func2(b,i)

}

returnanswer

}

elseif(a>2){

inttime=0

while(a>2){

a=a/2

time++

}

returnpow2(a,b)*pow2(2,b*time)

}

else{

if((int)b%2==0){

returnpow2(-a,b)

}

else{

return-pow2(-a,b)

}

}

}

doublefunc1(doublet,intn){

doubleanswer=1

for(inti=0i<ni++){

answer=answer*t

}

returnanswer

}

doublefunc2(doubleb,intn){

doubleanswer=1

for(inti=1i<=ni++){

answer=answer*(b-i+1)/i

}

returnanswer

}

扩展资料

C++提供以下几种pow函数的重载形式:

doublepow(doubleX,intY)

floatpow(floatX,floatY)

floatpow(floatX,intY)

longdoublepow(longdoubleX,longdoubleY)

longdoublepow(longdoubleX,intY)

使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。

其中较容易发生重载的是使用形如:

intX,Y

intnum=pow(X,Y)

这是一个比较常用的函数,但是编译器会提醒有多个“pow”实例与参数列表相匹配。

可以使用强制类型转换解决这个问题:num=pow((float)X,Y)