用C語言求冪函數和指數函數的方法
C語言pow()函數:求x的y次方(次冪)
頭文件:
#include <math.h>
pow() 函數用來求 x 的 y 次冪(次方),其原型為:
double pow(double x, double y);
pow()用來計算以x 為底的 y 次方值,然后將結果返回。設返回值為 ret,則 ret = xy。
可能導致錯誤的情況:
- 如果底數 x 為負數并且指數 y 不是整數,將會導致 domain error 錯誤。
- 如果底數 x 和指數 y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現有關。
- 如果底數 x 是 0,指數 y 是負數,可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現有關。
- 如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
- 如果發(fā)生 domain error 錯誤,那么全局變量 errno 將被設置為 EDOM;
- 如果發(fā)生 pole error 或 range error 錯誤,那么全局變量 errno 將被設置為 ERANGE。
注意,使用 GCC 編譯時請加入-lm。
【實例】請看下面的代碼。
#include <stdio.h>
#include <math.h>
int main ()
{
printf ("7 ^ 3 = %f\n", pow (7.0, 3.0) );
printf ("4.73 ^ 12 = %f\n", pow (4.73, 12.0) );
printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) );
return 0;
}
輸出結果:
7 ^ 3 = 343.000000 4.73 ^ 12 = 125410439.217423 32.01 ^ 1.54 = 208.036691
C語言sqrt()函數:求給定值的平方根
頭文件:
#include <math.h>
sqrt() 用來求給定值的平方根,其原型為:
double sqrt(double x);
【參數】x 為要計算平方根的值。
如果 x < 0,將會導致 domain error 錯誤,并把全局變量 errno 的值為設置為 EDOM。
【返回值】返回 x 平方根。
注意,使用 GCC 編譯時請加入-lm。
【實例計算200 的平方根值?!?br />
#include <math.h>
main(){
double root;
root = sqrt(200);
printf("answer is %f\n", root);
}
輸出結果:
answer is 14.142136
相關文章
C C++ 題解LeetCode2360圖中的最長環(huán)示例
這篇文章主要為大家介紹了C C++ 題解LeetCode2360圖中的最長環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

