首頁 > 軟體

C語言pow()函數實現求x的y次方的值

2021-03-09 19:01:49

C語言 pow() 函數用來求 x 的 y 次方的值。

標頭檔案:math.h

語法/原型:

double pow(double x,double y);

引數說明:

  • x:雙精度數。
  • y:雙精度數。

返回值:x 的 y 次方的值。

【範例1】使用 pow() 函數求 4 的 6 次方,其程式碼如下:

#include <stdio.h>
#include <math.h>
int main() {
  double x = 4, y = 6; //為變數賦初值
  double result = pow(x, y); //求a的b次方
  printf("%lfn", result);
  return 0;
}

執行結果:
4096.000000

【範例2】使用C語言 pow() 函數計算使用者輸入的數值的次冪。

#include <stdio.h>
#include <math.h>
int main() {
  double a, b; //定義兩個變數
  printf("請輸入一個數:"); //輸出提示資訊
  scanf("%lf", &a); //獲取使用者輸入的數值
  printf("請輸入次冪數:"); //輸出提示資訊
  scanf("%lf", &b); //獲取使用者輸入的數值
  printf("result: %lfn", pow(a, b)); //輸出結果
  return 0;
}

執行結果:
請輸入一個數:10
請輸入次冪數:4
result: 10000.000000

可能導致錯誤的情況:

  • 如果底數 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。

到此這篇關於C語言pow()函數實現求x的y次方的值的文章就介紹到這了,更多相關C語言 求x的y次方的值內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com