雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

用C語言求冪函數(shù)和指數(shù)函數(shù)的方法

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊:

C語言pow()函數(shù):求x的y次方(次冪)
頭文件:

#include <math.h>

pow() 函數(shù)用來求 x 的 y 次冪(次方),其原型為:

  double pow(double x, double y);

pow()用來計(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ò)誤,也可能沒有;這跟庫的實(shí)現(xiàn)有關(guān)。
  • 如果底數(shù) x 是 0,指數(shù) y 是負(fù)數(shù),可能會(huì)導(dǎo)致 domain error 或 pole error 錯(cuò)誤,也可能沒有;這跟庫的實(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í)請加入-lm。

【實(shí)例】請看下面的代碼。

#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語言sqrt()函數(shù):求給定值的平方根
頭文件:

#include <math.h>

sqrt() 用來求給定值的平方根,其原型為:

  double sqrt(double x);

【參數(shù)】x 為要計(jì)算平方根的值。

如果 x < 0,將會(huì)導(dǎo)致 domain error 錯(cuò)誤,并把全局變量 errno 的值為設(shè)置為 EDOM。

【返回值】返回 x 平方根。

注意,使用 GCC 編譯時(shí)請加入-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

上一篇:C語言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié)

欄    目:C語言

下一篇:C語言中isalnum()函數(shù)和isalpha()函數(shù)的對比使用

本文標(biāo)題:用C語言求冪函數(shù)和指數(shù)函數(shù)的方法

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/2852.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有