用C語(yǔ)言求冪函數(shù)和指數(shù)函數(shù)的方法
C語(yǔ)言pow()函數(shù):求x的y次方(次冪)
頭文件:
#include <math.h>
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。
注意,使用 GCC 編譯時(shí)請(qǐng)加入-lm。
【實(shí)例】請(qǐng)看下面的代碼。
#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;
}
輸出結(jié)果:
7 ^ 3 = 343.000000 4.73 ^ 12 = 125410439.217423 32.01 ^ 1.54 = 208.036691
C語(yǔ)言sqrt()函數(shù):求給定值的平方根
頭文件:
#include <math.h>
sqrt() 用來(lái)求給定值的平方根,其原型為:
double sqrt(double x);
【參數(shù)】x 為要計(jì)算平方根的值。
如果 x < 0,將會(huì)導(dǎo)致 domain error 錯(cuò)誤,并把全局變量 errno 的值為設(shè)置為 EDOM。
【返回值】返回 x 平方根。
注意,使用 GCC 編譯時(shí)請(qǐng)加入-lm。
【實(shí)例計(jì)算200 的平方根值?!?br />
#include <math.h>
main(){
double root;
root = sqrt(200);
printf("answer is %f\n", root);
}
輸出結(jié)果:
answer is 14.142136
相關(guān)文章
C C++ 題解LeetCode2360圖中的最長(zhǎng)環(huán)示例
這篇文章主要為大家介紹了C C++ 題解LeetCode2360圖中的最長(zhǎng)環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
詳解用C語(yǔ)言實(shí)現(xiàn)三子棋游戲流程
三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對(duì)角線連起來(lái),相對(duì)兩邊依次擺上三個(gè)雙方棋子,只要將自己的三個(gè)棋子走成一條線,對(duì)方就算輸了2021-11-11
C語(yǔ)言實(shí)現(xiàn)父進(jìn)程主動(dòng)終止子進(jìn)程的方法總結(jié)
一般的情況,子進(jìn)程自己運(yùn)行完后,執(zhí)行exit 或者return 后,父進(jìn)程wait. waitpid收回子進(jìn)程,但子進(jìn)程是一個(gè)循環(huán)等待狀態(tài)不主動(dòng)退出,父進(jìn)程可以采用文中介紹的幾種方法,需要的朋友可以參考下2023-10-10
C語(yǔ)言實(shí)現(xiàn)維吉尼亞密碼的示例代碼
維吉尼亞密碼(又譯維熱納爾密碼)是使用一系列凱撒密碼組成密碼字母表的加密算法,屬于多表密碼的一種簡(jiǎn)單形式。本文將用C語(yǔ)言實(shí)現(xiàn)維吉尼亞密碼,需要的可以參考一下2022-11-11
QT中QStringListModel類的應(yīng)用介紹
QStringListModel是最簡(jiǎn)單的模型類,具備向視圖提供字符串?dāng)?shù)據(jù)的能力,本文主要介紹了QT中QStringListModel類的應(yīng)用介紹,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01

