math.h里面就有
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)臨翔,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
double log (double); 以e為底的對數(shù)
如果你是想自己寫一個(gè)函數(shù)的話,那得用級(jí)數(shù)展開,展成多項(xiàng)式
ln(x) = -sum_(k=1)^infinity((-1)^k (-1+x)^k)/k for |-1+x|
1 使用math.h中的log函數(shù),其相當(dāng)于ln
2 示例:求ln(2)的值
#includestdio.h
#includemath.h
int?main(){
double?n?=?2;
double?result?=?log(n);
printf("%lf",?result);
getchar();
return?0;
}
3 運(yùn)行結(jié)果
這與卡西歐計(jì)算器里的值是一致的
調(diào)用前先申明包含的庫函數(shù),ln所在math.h中,程序已寫好如下:
#?include?stdio.h
#?include?math.h
int?main(void)
{
double?a;
float?x;
printf("請輸入一個(gè)待求自然對數(shù)值的小數(shù)");
scanf("%f",x);
a=log(x);
printf("ln%f=%f\n",x,?a);
return?0;
}
首先在C語言中要用到指數(shù)、對數(shù)的相關(guān)公式,需要引入math.h。另外ln是以e為底數(shù),lg是以10為底數(shù)。
代碼如下:
#includestdio.h
#includemath.h
void main()
{
double exponent, base;
exponent = 3.14;
printf("ln(%f) = %.2f\n", exponent, log(exponent));//以e為底數(shù)的對數(shù)
exponent = 100;
printf("lg(%.f) = %.2f\n", exponent, log10(exponent));//以10為底數(shù)的對數(shù)
base = 5, exponent = 100;
printf("log_%.f(%.f) = %.2f\n", base, exponent, log(exponent)/log(base));//換底公式
return 0;
}
在求log_5(100)時(shí)需要用到“換底公式”:log_5(100) = ln(100)/ln(5)。
擴(kuò)展資料:
math.h文件中包含的函數(shù)主要分為以下幾類:
1、三角函數(shù)、反三角函數(shù)、雙曲三角函數(shù)。
2、指數(shù)、對數(shù)。
3、取整、絕對值。
4、標(biāo)準(zhǔn)化浮點(diǎn)數(shù)。
涉及參數(shù)類型為double類型。
參考資料:
百度百科——換底公式
百度百科——math.h
C語言不是數(shù)學(xué),這里在運(yùn)算的時(shí)候會(huì)讀值,你設(shè)變量,是讀不到值得,那么分母就有問題,你這很明顯不了解編程,編程不可能把你數(shù)學(xué)表達(dá)式錄進(jìn)來就可以的,你這除法要自己寫算法
在C++/C語言中,對數(shù)函數(shù)y = lnx的表示方法為y = log(x),函數(shù)的完整原型為:double log(double x)。
#includecstdio
#includealgorithm
#includecmath
using namespace std;
int main()
{
printf("%f\n",log(10));
return 0;
} ?
擴(kuò)展資料
C語言 log10() 函數(shù)用來求以 10 為底的對數(shù)值。
頭文件:math.h
語法/原型:double log10(double x);
參數(shù) x 是一個(gè)雙精度數(shù)。
返回值:以 10 為底的 x 的對數(shù)值。
【實(shí)例】使用C語言 log10() 函數(shù)求以 10 為底的 40 的對數(shù)。
#include stdio.h
#include math.h
int main() {
double m = 40; ?//為變量賦初值
double n = log10(m); ?//求以10為底的參數(shù)40的對數(shù)
printf("%lf\n", n);
return 0;
}
運(yùn)行結(jié)果:
1.602060