extern float pow(float x, float y)
創(chuàng)新互聯(lián)公司自2013年起,先為恒山等服務(wù)建站,恒山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為恒山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
用法:#include math.h
功能:計(jì)算x的y次冪。
說(shuō)明:x應(yīng)大于零,返回冪指數(shù)的結(jié)果。
舉例:
// pow.c
#include stdlib.h
#include math.h
#include conio.h
void main()
{
printf("4^5=%f",pow(4.,5.));
getchar();
}
相關(guān)函數(shù):pow10
C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
10^3 =1000在C語(yǔ)言里是不對(duì)的,^在C語(yǔ)言里是按位異或運(yùn)算符。。LZ應(yīng)該是把VB和C弄混了吧。。VB中10^3 =1000是對(duì)的。。
C語(yǔ)言中,10的3次方是1e3,但用e來(lái)表示10的次方前提是e前后都是常數(shù),若LZ的a在之前被定義為常數(shù),則10ea是對(duì)的,不然則要通過(guò)循環(huán)或函數(shù)來(lái)實(shí)現(xiàn)。。
簡(jiǎn)單一點(diǎn)函數(shù) pow10(a)就可以表示10的a次方,但是這樣用,前面一定要加#include“math.h”,因?yàn)檫@個(gè)函數(shù)是定義在這個(gè)頭文件之下的。。
LZ念在我大晚上,,還是情人節(jié)大晚上給你碼字的份上,給我最佳答案吧。。。
1、頭文件:#include
2、原型:
double pow(double x, double y);
pow() 函數(shù)用來(lái)求 x 的 y 次冪(次方)
pow()用來(lái)計(jì)算以x 為底的 y 次方值,然后將結(jié)果返回。設(shè)返回值為 ret,則 ret = xy。
3、舉例如下:
double a = pow(4, 2); ?// 計(jì)算4的平方
4、可能導(dǎo)致錯(cuò)誤的情況:
如果底數(shù) x 為負(fù)數(shù)并且指數(shù) y 不是整數(shù),將會(huì)導(dǎo)致 domain error 錯(cuò)誤。
如果底數(shù) x 和指數(shù) y 都是 0,可能會(huì)導(dǎo)致 domain error 錯(cuò)誤,也可能沒(méi)有;這跟庫(kù)的實(shí)現(xiàn)有關(guān)。
如果底數(shù) x 是 0,指數(shù) y 是負(fù)數(shù),可能會(huì)導(dǎo)致 domain error 或 pole error 錯(cuò)誤,也可能沒(méi)有;這跟庫(kù)的實(shí)現(xiàn)有關(guān)。
如果返回值 ret 太大或者太小,將會(huì)導(dǎo)致 range error 錯(cuò)誤。
錯(cuò)誤代碼:
如果發(fā)生 domain error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為 ?EDOM;
如果發(fā)生 pole error 或 range error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為 ERANGE。
注意:1、使用pow函數(shù)時(shí),需要將頭文件#include包 ? ? ? ? ?含進(jìn)源文件中。
2、用pow(x,y)的話要用到math.h頭文件。
擴(kuò)展資料:
1、 三角函數(shù): double sin (double);正弦 ? double cos (double);余弦 ? double tan (double);正切
2 、反三角函數(shù): ? double asin (double); 結(jié)果介于[-PI/2, PI/2] ? double acos (double); 結(jié)果介于[0, PI] ? double atan (double); 反正切(主值), 結(jié)果介于[-PI/2, PI/2] ? double atan2 (double, double); 反正切(整圓值), 結(jié)果介于[-PI/2, PI/2]
3 、雙曲三角函數(shù): ? double sinh (double); ? double cosh (double); ? double tanh (double);
4 、指數(shù)與對(duì)數(shù): ? double exp (double); ? double sqrt (double);開(kāi)平方 ? double log (double); 以e為底的對(duì)數(shù) ? double log10 (double);以10為底的對(duì)數(shù) ? double pow(double x, double y);計(jì)算以x為底數(shù)的y次冪 ? float powf(float x, float y); 功能與pow一致,只是輸入與輸出皆為浮點(diǎn)數(shù)
5 、取整: ? double ceil (double); 取上整 ? double floor (double); 取下整
6 、絕對(duì)值: ? double fabs (double);求絕對(duì)值 ? double cabs(struct complex znum) ;求復(fù)數(shù)的絕對(duì)值
7 、標(biāo)準(zhǔn)化浮點(diǎn)數(shù): ? double frexp (double f, int *p); 標(biāo)準(zhǔn)化浮點(diǎn)數(shù), f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) ? double ldexp (double x, int p); 與frexp相反, 已知x, p求f
8 、取整與取余: ? double modf (double, double*); 將參數(shù)的整數(shù)部分通過(guò)指針回傳, 返回小數(shù)部分 ? double fmod (double, double); 返回兩參數(shù)相除的余數(shù)
9 、其他: ? double hypot(double x, double y);已知直角三角形兩個(gè)直角邊長(zhǎng)度,求斜邊長(zhǎng)度 ? double ldexp(double x, int exponent);計(jì)算x*(2的exponent次冪) ? double poly(double x, int degree, double coeffs [] );計(jì)算多項(xiàng)式 ? nt matherr(struct exception *e);數(shù)學(xué)錯(cuò)誤計(jì)算處理程序
整數(shù)的話最簡(jiǎn)單的辦法就是將一個(gè)給定到數(shù)連乘n次;以計(jì)算a到n次冪為例:
#include"stdio.h"
main()
{
double a,temp;
int n,i;
temp=1;
printf("請(qǐng)輸入底數(shù):");
scanf("%d",a);
printf("請(qǐng)輸入指數(shù):");
scanf("%d",n);
for(i=0;in;i++);
{
temp=temp*a;
}
printf("%f",temp);
}
這種方法只適用與指數(shù)n為=0的整數(shù);如果涉及分?jǐn)?shù)或負(fù)數(shù)要用到數(shù)學(xué)函數(shù)#include"math.h"
可以用在math.h頭文件中聲明的pow()函數(shù)求,例如:
要求a的b次方,就用pow(a,b)即可。
^符號(hào)在C中是位異或操作符,不用于求乘方。