sum = fun(x,y,z); //這里,應當接收函數的返回值
創新互聯2013年開創至今,先為臺山等服務建站,臺山等地企業,進行企業商務咨詢服務。為臺山企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
printf("f(x,y,z)=%f\n",sum);
包含頭文件math.h后,所有三角函數的庫函數就都可以直接引用了。比如求x的正弦就用sin(x),它返回一個double值。注意x以弧度計……
樓上的我覺得不妥。這個
1、#define PI 3.14 //精度過于小,改為#define PI 3.14159265359
2、#define cos(x) cos(x/PI*180) //這個是宏定義,不是函數,或者叫做偽函數,盡量不要用。也千萬不要迷戀所謂的效率。因為這個東西逃過了VC編譯器的靜態類型檢查,很多隱藏的很深的錯誤(尤其是當復雜的時候)。現在基本用inline內聯函數替代啦。而且調試過程中,無法查看相關量的值(這個不存在我指復雜一點的)。但是強烈建議開始就養成好的編程習慣。
3、這個東西有誤解。(除非每一次都會去看它的定義)因為角度也是double或float型,而弧度也是同樣,所以用的時候會有誤解。因為庫中原來的cos()要的是弧度?,F在你給重定義成了要角度。其中我想用cos()給其提供弧度的版本,結果也被這個宏替換成了要角度的版本。如:我想求cos(PI/2),結果被你替換成了cos(PI/2*180/PI),這個太可惡了。和原函數名字一模一樣!會給后面的維護工程師帶來大麻煩!
所以,明確的寫一個。角度轉弧度的函數 double RadToAngle (double); 還是用原來庫函數 cos( RadToAngle (30)) 這個一看就知道 將30°換成弧度,并調用原來的cos()函數。
好運!
C語言的三角函數庫采用的單位都是弧度,如果要使用角度,就必須轉換,從角度轉換成弧度,或者是重寫一個三角函數庫。
方法一,在調用三角函數之前先把角度換算成弧度,調用反三角函數之后把弧度換算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 轉換角度到弧度。
例如: sin(45 /180.0*pi); 就是計算的sin45。
方法二,直接覆寫三角函數。
例如sin函數:
double dsin(double d){
return sin(45 /180.0*pi); //原理和方法一樣,調用的時候直接使用dsin(45)即可
}
#include
#include
int main()
{
double n; //sin cos是函數,不能定義成變量
scanf("%lf",n);
n=sin(n); //求n的sin()值,并返回給n
printf("%lf\n",n);//輸出n
return 0;
}
從鍵盤輸入一個角度值,求出該角度的正弦值、余弦值和正切值。
#includeiostream
#includecmath
using namespace std;
const double pi(3.14159265);
void main()
{ double a,b;
cina;
b=a*pi/180;
cout"sin("a")="sin(b)endl;
cout"cos("a")="cos(b)endl;
cout"tan("a")="tan(b)endl;
}
求階乘
#includeiostream.h
int Factorial ( int ) ;
void main ()
{ int k ;
cout "Compute Factorial(k) , Please input k: " ;
cin k ;
cout k "! = " Factorial(k) endl ;
}
int Factorial ( int n )
{ if ( n == 0 )
return 1 ;
else
return n * Factorial ( n - 1 ) ;
}
x的n次方的函數
#include iostream
using namespace std;
double power (double x, int n);
void main(void)
{
cout "5 to the power 2 is " power(5,2) endl;
}
double power (double x, int n)
{
double val = 1.0;
while (n--)
val = val*x;
return(val);
}
當前名稱:求解三角函數的根c語言,c語言求方程的根函數
網站網址:http://m.kartarina.com/article12/hsccgc.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、電子商務、靜態網站、虛擬主機、小程序開發、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯