2011-04-07 66 views
3

如何用C語言編寫一個函數?需要幫助做數學計算的自然對數(ln)

y = 20 ln(x + 3)?

如何編寫ln函數?

+0

以任何機會,你打算使用對數,即多項式(x-1)^ 2)/ 2 +((x-1)^ 3)/ 3 - ((x-1)^ 4)/ 4 ... If不是那麼我相信你已經得到了很多答案 – mukeshkumar 2011-04-07 17:07:42

+0

你有沒有嘗試Google搜索「C自然對數」? – 2017-06-06 03:32:53

回答

12
#include <math.h> 

double fun(double x) 
{ 
    return 20 * log(x + 3); //base-e logarithm! 
} 

//usage 
double y = fun(30); 

對於以10爲底的對數,請使用log10()

+2

不錯...乾淨! – Sadique 2011-04-07 16:50:24

3
double myfunction(int x){ 
    return (20* log(x+3)); 
} 

而且你怎麼稱呼它:

double y = myfunction(yourX); 
+5

不要忘了'#include ',並在必要時連接數學庫。 – 2011-04-07 16:56:07

1

在C庫中的日誌功能是進行自然對數( 'LN')。有關詳細信息,請參閱本:CPlusPlus - log

2
#include <math.h> 
double function(double x) 
{ 
    double y = 20 * log(x + 3.0); 
    return y; 
} 
+0

這是C++;問題要求C. – 2011-04-07 16:51:32

+0

刪除'std ::'和無用的臨時變量。 – 2011-04-07 16:53:26

+0

將其更改爲C.我保留該變量以保持其與OP問題的具體關係。 – ronag 2011-04-07 17:19:58

1

雖然這個問題被標記C++,提問是要求C實現:

#include <math.h> 

double myFunction(double x) { 
    return 20.0 * log(x + 3.0); 
}