int integerPower1(int x,int y)函數(shù)中,result沒有賦初值1
目前創(chuàng)新互聯(lián)建站已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、三江侗網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
int result = 1; 這樣就對了
否則編譯器會隨機(jī)指定一個數(shù)值給result,有可能是0
C語言中的POW函數(shù)使用:
#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;
}
擴(kuò)展資料
C++提供以下幾種pow函數(shù)的重載形式:
doublepow(doubleX,intY);
floatpow(floatX,floatY);
floatpow(floatX,intY);
longdoublepow(longdoubleX,longdoubleY);
longdoublepow(longdoubleX,intY);
使用的時候應(yīng)合理設(shè)置參數(shù)類型,避免有多個“pow”實例與參數(shù)列表相匹配的情況。
其中較容易發(fā)生重載的是使用形如:
intX,Y;
intnum=pow(X,Y);
這是一個比較常用的函數(shù),但是編譯器會提醒有多個“pow”實例與參數(shù)列表相匹配。
可以使用強(qiáng)制類型轉(zhuǎn)換解決這個問題:num=pow((float)X,Y);
#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));
}我運(yùn)行過了,結(jié)果行.不過我只寫出指數(shù)是正整數(shù)的.負(fù)整數(shù)的也是同樣的道理.你自己寫吧
#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));
}
}
在開始加上#include math.h;
程序中就可以調(diào)用pow(x,y)。
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
輸出結(jié)果:
285.000000
擴(kuò)展資料
c語言求自然對數(shù)的底e的指數(shù),可以使用函數(shù)exp().
exp()的頭文件:#include
exp()的函數(shù)原型:double exp(double x);
exp()函數(shù)的作用:返回e的x次方。
exp()的相關(guān)函數(shù):float expf(float x);
long double expl(long double x);
注:自然對數(shù)的底e叫做: 歐拉數(shù)(eula's number)