c語言中的pow函式怎麼使用,C語言中的POW函式怎麼使用

2021-03-27 18:40:57 字數 3867 閱讀 6633

1樓:丿

pow()函式用來求x的y次冪,x、y及函式值都是double型 ,其原型為:double pow(double x, double y)。

例項**如下:

#include

#include

void main()

擴充套件資料

在呼叫pow函式時,可能導致錯誤的情況:

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

2樓:檀香透窗櫺

使用方法:

# include //這個。其實沒

有也可以。

double x,y,z;//自己按需賦值。【1】

z=pow(x,y);

printf(「%lf\n【2】」,z【3】);//可以根據想輸出幾位,比如說輸出一位小數%.1lf,來調整。

2.   備註項的其他形式

【1】賦值

(1) 當將」x」,」y」定義為int的時候,也可以,備註三也成立。

(2) 當將」z」定義為int的時候,也可以,只需要將printf的型別變成」%d」。

【2】「%lf」

因為,現在z的型別是double,所以使用「%lf」若使用「%d」,則總輸出為零。

【3】「z」

要是這裡想把「z」變成「pow(x,y)」也是可以的。

擴充套件資料

型別轉換對於pow會產生的問題:

當將」z」定義為int,或者是printf的型別變成」%d」的時候,產生了一個由double變成int的轉化問題。在這裡,轉化過程非常粗暴,會直接去掉小數,從而導致誤差。

為了避免這個問題,又想要輸出整數,可以採取的做法:

1) printf("%.0lf",pow(x,y));

2) printf("%d",(int)(pow(x,y)+0.5));//人為四捨五入

3樓:韌勁

1,要加入標頭檔案 math.h

2,pow(x,y);//其作用是計算x的y次方。x、y及函式值都是double型

例:我要計算2的5次方

源**如下:

#include"stdio.h"

#include"math.h"

main()

4樓:匿名使用者

標頭檔案是「math.h」

pow(x,y);x的y次方

5樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:

double a = 1000, n = 10, p = 0.001;

printf("%lf", a * pow(1+p, n) - a);

3、編譯器執行test.cpp檔案,此時成功列出公式並計算出了利息結果。

6樓:混世達人

賦值 (1) 當將」

x」,」y」定義為

int的時候,也可以,備註三也成立。 (2) 當將」z」定義為int的時候,也可以,只需要將printf的型別變成」%d」

2.「%lf」 因為,現在z的型別是double,所以使用「%lf」若使用「%d」,則總輸出為零。

3.「z」 要是這裡想把「z」變成「pow(x,y)」也是可以的。 擴充套件資料 型別轉換對於pow會產生的問題:…

7樓:天雲一號

pow函式是c語言的一個庫函式。

函式原型:double pow(double x, double y);

功       能:計算x^y

返 回  值:計算結果

舉例如下:

double x = 3.14, y=2, z;

z = pow(x, y); // 計算x^y,即3.14的平方注:使用pow函式的時候,需要將標頭檔案#include包含進原始檔中。

8樓:

#include

#include

int main()

pow函式是這樣用的,a=pow(b,c);

表示a等於b的c次方

9樓:匿名使用者

原型:extern float pow(float x, float y);

用法:#include

功能:計算x的y次冪。

說明:x應大於零,返回冪指數的結果。

舉例:// pow.c

#include

#include

main()

10樓:匿名使用者

c98標準原型:

double pow (double base, double exponent);

float pow (float base, float exponent);

long double pow (long double base, long double exponent);

double pow (double base, int exponent);

long double pow (long double base, int exponent);

標頭檔案:

#include

功能:計算base的exponent次冪。

說明:base應大於零,返回冪指數的結果。

舉例:// pow.c

#include

#include

int main()

11樓:匿名使用者

vc除錯,已改,更改位置見程式中相應的註釋部分:

#include

#include

#include

#define n 10

int function(char a)

for(i=0;i

12樓:孟羽然

printf("%f\n", pow(2,3));

13樓:匿名使用者

#include

void main( )

14樓:

你首先要給我說你用的哪個編譯器啊

我在vs2005下用你的相同**得出的結果是三個數都是100

只是pow(float,float)才是正確的用法,你可以償試把你的所有型別改一下試試,從你的測試結果來說,很可能是型別轉換的時候的問題,int 型的i=2,被編譯器轉成float的時候有誤差,只有1.999……,然後10的i次方不到100,只有99點幾,然後轉給a的時候再轉換成int就只有99了,而你直接輸入2的時候就沒有問題。這只是一種猜測,你得把你的編譯環境也作為條件給出來才能有準確的判斷。

15樓:匿名使用者

實在不會用可以自己寫啊

其實就是一個迴圈啦

看你會不會優化了

要是想知道怎麼使用

建議你差一查msdn上面都有詳細的說明文件的

c語言pow函式,C語言pow函式

pow 函式用來求x的y次冪,x y及函式值都是double型 其原型為 double pow double x,double y 例項 如下 include include void main double x 2,y 10 printf f n pow x,y return 0 擴充套件資料 在...

c語言中switch結構的使用,C語言中switch結構的使用

因為case後面不能接範圍,也就是說case後面是一個確實固定的常量.用下面的方法比較好,include int main 你可以先把範圍用字母或常量代替 再用switch語句 include void main else printf score scanf d s system pause 請問...

c語言中什麼是原型定義,C語言中函式的定義格式是什麼,函式原型宣告的語法格式?

我還直是不知道呢,我說說自己的理解吧,一個函式,可能在別外被引用或是在本檔案中但是要先引用了而後面才有函式定義,此時編譯器需要先行知道這個函式返回型別和引數類形,才可以正確的幫著做嚴格的資料型別和引數個數的檢查 如不提前申明就會當做是返回int 型,引數都當int型且不能檢查引數個數 這個函式在定義...