1、頭文件:#include
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、虛擬空間、營銷軟件、網站建設、蒙陰網站維護、網站推廣。
2、原型:
double pow(double x, double y);
pow() 函數用來求 x 的 y 次冪(次方)
pow()用來計算以x 為底的 y 次方值,然后將結果返回。設返回值為 ret,則 ret = xy。
3、舉例如下:
double a = pow(4, 2); ?// 計算4的平方
4、可能導致錯誤的情況:
如果底數 x 為負數并且指數 y 不是整數,將會導致 domain error 錯誤。
如果底數 x 和指數 y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現有關。
如果底數 x 是 0,指數 y 是負數,可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現有關。
如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
如果發生 domain error 錯誤,那么全局變量 errno 將被設置為 ?EDOM;
如果發生 pole error 或 range error 錯誤,那么全局變量 errno 將被設置為 ERANGE。
注意:1、使用pow函數時,需要將頭文件#include包 ? ? ? ? ?含進源文件中。
2、用pow(x,y)的話要用到math.h頭文件。
擴展資料:
1、 三角函數: double sin (double);正弦 ? double cos (double);余弦 ? double tan (double);正切
2 、反三角函數: ? double asin (double); 結果介于[-PI/2, PI/2] ? double acos (double); 結果介于[0, PI] ? double atan (double); 反正切(主值), 結果介于[-PI/2, PI/2] ? double atan2 (double, double); 反正切(整圓值), 結果介于[-PI/2, PI/2]
3 、雙曲三角函數: ? double sinh (double); ? double cosh (double); ? double tanh (double);
4 、指數與對數: ? double exp (double); ? double sqrt (double);開平方 ? double log (double); 以e為底的對數 ? double log10 (double);以10為底的對數 ? double pow(double x, double y);計算以x為底數的y次冪 ? float powf(float x, float y); 功能與pow一致,只是輸入與輸出皆為浮點數
5 、取整: ? double ceil (double); 取上整 ? double floor (double); 取下整
6 、絕對值: ? double fabs (double);求絕對值 ? double cabs(struct complex znum) ;求復數的絕對值
7 、標準化浮點數: ? double frexp (double f, int *p); 標準化浮點數, 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*); 將參數的整數部分通過指針回傳, 返回小數部分 ? double fmod (double, double); 返回兩參數相除的余數
9 、其他: ? double hypot(double x, double y);已知直角三角形兩個直角邊長度,求斜邊長度 ? double ldexp(double x, int exponent);計算x*(2的exponent次冪) ? double poly(double x, int degree, double coeffs [] );計算多項式 ? nt matherr(struct exception *e);數學錯誤計算處理程序
可以用在math.h頭文件中聲明的pow()函數求,例如:
要求a的b次方,就用pow(a,b)即可。
^符號在C中是位異或操作符,不用于求乘方。
scanf("%f%f",a,b); 改為 scanf("%lf%lf",a,b);
printf("%f",c);改為 printf("%lf",c);
因為你的a,b,c是double類型的,所以用"%lf"而不是"%f"
#includestdio.h
#includemath.h
int?main()
{double?a,b;
scanf("%lf%lf",a,b);
printf("%lf\n",pow(a,b));
return?0;
}
網站名稱:c語言函數求冪ab次方 在c語言中的冪方怎么表示
文章鏈接:http://vcdvsql.cn/article34/ddogipe.html
成都網站建設公司_創新互聯,為您提供靜態網站、關鍵詞優化、服務器托管、面包屑導航、域名注冊、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯