C語(yǔ)言中計(jì)算一個(gè)數(shù)的N次方可以用庫(kù)函數(shù)pow來(lái)實(shí)現(xiàn)。函數(shù)原型:double pow(double x, double y)。
成都創(chuàng)新互聯(lián)公司成立十余年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶(hù)資源,形成了良好的口碑。為客戶(hù)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀(guān)、功能強(qiáng)大、用戶(hù)體驗(yàn)好、性?xún)r(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶(hù)提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。
舉例如下:
double?a?=?pow(3.14,?2);??//?計(jì)算3.14的平方。
注:使用pow函數(shù)時(shí),需要將頭文件#includemath.h包含進(jìn)源文件中。
拓展資料:
次方運(yùn)算是數(shù)學(xué)運(yùn)算,我們可能在其他語(yǔ)言中比如VB中見(jiàn)過(guò)冪運(yùn)算符,在VB中計(jì)算2的3次方,可以直接使用2^3就可以算出結(jié)果。C標(biāo)準(zhǔn)庫(kù)中有兩個(gè)可以解決解決我們的冪運(yùn)算問(wèn)題,分別是math.h和tgmath.h。
C語(yǔ)言中計(jì)算x的n次方可以用庫(kù)函數(shù)pow來(lái)實(shí)現(xiàn)。函數(shù)原型:double pow(double x, double n)。
具體的代碼如下:
#include stdio.h
#include math.h
int main( )
{ ?
printf("%f",pow(x,n));
return 0;
}
注:使用pow函數(shù)時(shí),需要將頭文件#includemath.h包含進(jìn)源文件中。
擴(kuò)展資料:
使用其他的方法得到x的n次方:
#includestdio.h
double power(double x,int n);
main( )
{
double x;
int n;
printf("Input x,n:");
scanf("%lf,%d",x,n);
printf("%.2lf",power(x,n));
}
double power(double x,int n)
{
double a=1.0;
int i;
for(i=1;i=n;i++)
a*=x;
return a;
}
//(1)定義函數(shù)(x,n),計(jì)算x的n次冪#include "stdio.h"
double f(double x,int n)
{
double s=1.0;
int i;
for(i=1;i=n;i++)
{
s=s*x;
}
return s;
}
void main()
{
double x;
int n;
printf("請(qǐng)輸入x:");
scanf("%lf",x);
printf("請(qǐng)輸入n:");
scanf("%d",n);
printf("%lf的%d次冪等于%lf\n",x,n,f(x,n));
}運(yùn)行截圖:
#includestdio.h
int power(int n,int p);
void main()
{ int S[8];
int i=0;
int n=2;
printf("The results is:\n");
for(i=0;i8;i++)
{
S[i]=power(n,i+1);//調(diào)用函數(shù)
printf("%d\n",S[i]);
}
printf("That's all\n");
}
int power(int n,int p)
{
int pow=1;
int i;
for(i=0;i=p;i++)
pow*=n;
return pow;
}
在調(diào)用:S[i]=power(n,i); 之前,i未初始化,可以手動(dòng)輸出來(lái)看一下,值結(jié)果是隨機(jī)的,并不一定是0。
編譯會(huì)提示:Warning: Possible use of 'i' before definition in function main在do{}while;中,開(kāi)關(guān)i值并未改變,若i8成立,那么程序就會(huì)變成死循環(huán)。
一開(kāi)始的那個(gè)i沒(méi)有初始化,s[i]不知道用哪里的內(nèi)存了。還有每次循環(huán)后記得i++。
擴(kuò)展資料:
注意事項(xiàng)
pow() 函數(shù)用來(lái)求 x 的 y 次冪(次方),其原型為:double pow(double x, double y);
pow()用來(lái)計(jì)算以x 為底的 y 次方值,然后將結(jié)果返回。設(shè)返回值為 ret,則 ret = xy。
可能導(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。
Math.pow(底數(shù),幾次方)
如:double a=2.0;
double b=3.0;
double c=Math.pow(a,b);
就是2的三次方是多少;
c最終為8.0;