C語言中的POW函數(shù)使用:
站在用戶的角度思考問題,與客戶深入溝通,找到西區(qū)網(wǎng)站設計與西區(qū)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋西區(qū)地區(qū)。
#includestdio.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==0b0){
return0;
}
elseif(a==0b=0){
return1/0;
}
elseif(a0!(b-(int)b0.0001||(b-(int)b0.999))){
return1/0;
}
if(a=2a=0){
doublet=a-1;
doubleanswer=1;
for(inti=1;iACCURACY;i++){
answer=answer+func1(t,i)*func2(b,i);
}
returnanswer;
}
elseif(a2){
inttime=0;
while(a2){
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=0;in;i++){
answer=answer*t;
}
returnanswer;
}
doublefunc2(doubleb,intn){
doubleanswer=1;
for(inti=1;i=n;i++){
answer=answer*(b-i+1)/i;
}
returnanswer;
}
擴展資料
C++提供以下幾種pow函數(shù)的重載形式:
doublepow(doubleX,intY);
floatpow(floatX,floatY);
floatpow(floatX,intY);
longdoublepow(longdoubleX,longdoubleY);
longdoublepow(longdoubleX,intY);
使用的時候應合理設置參數(shù)類型,避免有多個“pow”實例與參數(shù)列表相匹配的情況。
其中較容易發(fā)生重載的是使用形如:
intX,Y;
intnum=pow(X,Y);
這是一個比較常用的函數(shù),但是編譯器會提醒有多個“pow”實例與參數(shù)列表相匹配。
可以使用強制類型轉換解決這個問題:num=pow((float)X,Y);
我覺得可以這樣編寫,指數(shù)函數(shù)必須有兩個參數(shù)值,一個是底數(shù),一個是指數(shù)
對于指數(shù)使用int類型,對于底數(shù),是用double類型,返回值是double
double pow(double a,int n)
{
double rst = 1;
do{
rst *= a;
}while(--n);
return rst;
}
當然你可以使用你喜歡的循環(huán)體。
如果要指數(shù)也是double型,我就不知道該如何編寫了
#include?stdio.h
#include?math.h
double?exp(double?x)?{
double?sum?=?0;
double?term?=?1;
double?index?=?1;
while?(fabs(term)?=?1e-6)?{
sum?=?sum?+?term;
term?=?term?*?x?/?index;
index?=?index?+?1;
}
return?sum;
}
int?main()?{
char?c;
double?x;
while?(scanf("?%c",?c)?==?1)?{
if?(c?==?'#')?break;
ungetc(c,?stdin);
scanf("%lf",?x);
printf("e(%.3lf)?=?%.5lf\n",?x,?exp(x));
}
}
1、#include math.h
pow(a,b)表示a的b次方;
2、指數(shù)函數(shù)是重要的基本初等函數(shù)之一。一般地,y=ax函數(shù)(a為常數(shù)且以a0,a≠1)叫做指數(shù)函數(shù),函數(shù)的定義域是 R 。
擴展資料:
C語言函數(shù)介紹:
C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。其可以作為系統(tǒng)設計語言,編寫工作系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。
C語言是一種程序設計的入門語言。由于C語言的語句中沒有提供直接計算sin或cos函數(shù)的語句,會造成編寫程序困難;但是函數(shù)庫提供了sin和cos函數(shù),可以拿來直接調(diào)用。顯示一段文字,我們在C語言中找不到顯示語句,只能使用庫函數(shù)printf。
參考資料來源:百度百科-C語言函數(shù)
在開始加上#include math.h;
程序中就可以調(diào)用pow(x,y)。
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
輸出結果:
285.000000
擴展資料
c語言求自然對數(shù)的底e的指數(shù),可以使用函數(shù)exp().
exp()的頭文件:#include
exp()的函數(shù)原型:double exp(double x);
exp()函數(shù)的作用:返回e的x次方。
exp()的相關函數(shù):float expf(float x);
long double expl(long double x);
注:自然對數(shù)的底e叫做: 歐拉數(shù)(eula's number)
#include?stdio.h
float?zhishu(float?x,int?n)
{
int?i;
float?sum;
if(n0)return?0;
else
???{
for(i=0;i=n;i++)
{?if(i==0)sum=x;
else
sum*=x;
}
return?sum;
}
}
void?main()
{
int?n;
float?x;
puts("請輸入底數(shù)x和指數(shù)n,中間以回車隔開");
scanf("%f",x);
scanf("%d",n);
printf("%f",zhishu(x,n));
}我運行過了,結果行.不過我只寫出指數(shù)是正整數(shù)的.負整數(shù)的也是同樣的道理.你自己寫吧