首先在C語言中要用到指數(shù)、對數(shù)的相關(guān)公式,需要引入math.h。另外ln是以e為底數(shù),lg是以10為底數(shù)。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)10年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
代碼如下:
#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
可以通過庫函數(shù)log( )來求ln x
函數(shù)原型:double log(double x);
功能:求ln(x)
返回值:計(jì)算結(jié)果
舉例如下:
double?x=2.73,?y;
y?=?log(x);??//?計(jì)算ln(x),并將計(jì)算結(jié)果賦值給變量y
注:使用log函數(shù)時(shí),需要將頭文件#includemath.h添加進(jìn)源文件中。
擴(kuò)展資料:
C語言是一門通用計(jì)算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
特有特點(diǎn)
1、C語言是一個(gè)有結(jié)構(gòu)化程序設(shè)計(jì)、具有變量作用域(variable scope)以及遞歸功能的過程式語言。
2、C語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
4、只有32個(gè)保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
5、部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
6、通過指針(pointer),C語言可以容易的對存儲器進(jìn)行低級控制。
7、預(yù)編譯處理(preprocessor)讓C語言的編譯更具有彈性。
參考資料:(百度百科:c語言)
調(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;
}