e^x≈1+x+x^2/2!+x^3/3!+……+x^n/n!
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元云和做網(wǎng)站,已為上家服務(wù),為云和各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
pow(m,n)=e^(n*ln(m)) m n可以是double數(shù)據(jù)類型
就是這兩個(gè)公式~~ 源碼網(wǎng)上很多的~
#includestdio.h
#includeiostream
#includemath.h
#includestring.h
using namespace std;
#define N 10
int function(char a[])
{
int i,c,sum=0;
int b[N];
c=strlen(a);
for(i=0;ic;i++)
{
if('A'=a[i]a[i]='E')
b[i]=a[i]-55;
else if('a'=a[i]a[i]='e')
b[i]=a[i]-87;
else
b[i]=a[i]-48;//因?yàn)閏har類型的數(shù)字0對(duì)應(yīng)十進(jìn)制的48,這下你就懂了吧!?。?/p>
}
coutendl;
for(i=0;ic;i++)
sum=int(sum+b[i]*pow(16,c-1-i));
return sum;
}
main()
{
char a[N];
printf("Please input a string:\n");
gets(a);
printf("%d\n",function(a));
return 0;
}
你可以試一下子,我已經(jīng)再改的地方做了注釋,而且,必須將char類型數(shù)字改成int型的數(shù)字,否則會(huì)產(chǎn)生不確定的錯(cuò)誤?。?!希望滿意,給分啊親!
pow返回浮點(diǎn)數(shù),但是printf按照整數(shù)來,就會(huì)取浮點(diǎn)數(shù)的前幾位,剛好前幾位都是0,自然輸出0
C語(yǔ)言中的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);
使用的時(shí)候應(yīng)合理設(shè)置參數(shù)類型,避免有多個(gè)“pow”實(shí)例與參數(shù)列表相匹配的情況。
其中較容易發(fā)生重載的是使用形如:
intX,Y;
intnum=pow(X,Y);
這是一個(gè)比較常用的函數(shù),但是編譯器會(huì)提醒有多個(gè)“pow”實(shí)例與參數(shù)列表相匹配。
可以使用強(qiáng)制類型轉(zhuǎn)換解決這個(gè)問題:num=pow((float)X,Y);
需要準(zhǔn)備的材料分別有:電腦、C語(yǔ)言編譯器。
1、首先,打開C語(yǔ)言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,輸入C語(yǔ)言代碼:
double a = 1000, n = 10, p = 0.001;
printf("%lf", a * pow(1+p, n) - a);
3、編譯器運(yùn)行test.cpp文件,此時(shí)成功列出公式并計(jì)算出了利息結(jié)果。
#include stdio.h
#include math.h
int main(void)
{
double a,b,c,d;
while(scanf("%lf%lf%lf%lf",a,b,c,d)!=EOF)
printf("%.2lf\n",pow((pow((a-c),2)-pow((b-d),2)),0.5));
return 0;
}
LZ printf 和 scanf 函數(shù)用錯(cuò)了。。
仔細(xì)比對(duì)下。。