當前位置:首頁 » 編程語言 » c語言求正弦函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求正弦函數

發布時間: 2022-01-19 05:50:19

c語言sin怎麼用

C語言sin()用來計算參數x 的正玄值,然後將結果返回。返回-1 至1 之間的計算結果。

例子:

#include <math.h>

main(){

double answer = sin(0.5);

printf("sin(0.5) = %f ", answer);

}

執行

sin(0.5) = 0.479426

C語言sin():

sin()原型:double sin(double x)

sin()角度與弧度:

π=180°

1°=π/180

1(rad)=180/π

角度轉弧度:用角度乘以π/180

弧度轉角度:用弧度乘以180/π,或者用rtod()函數

(1)c語言求正弦函數擴展閱讀:

與sin相似的acos函數

函數名: acos

功 能:計算並返回arccos(x)值、要求-1<=X<=1

函數與形參類型:

double acos(x)

double x;

程序例:

#include <stdio.h>

#include <math.h> int main(void)

{

double result;

double x = 0.5; result = acos(x);

printf("The arc cosine of %lf is %lf ", x, result);

return 0;

}

② 用C語言求正弦值

1、C語言中要編寫sin函數,實質上要利用sin的泰勒公式,然後根據泰勒公式,將其中的每一項進行分解,最後用循環,累加計算出最終結果。


2、下面用for循環實現sin的演算法,程序代碼如下:

#include<stdio.h>

#include<math.h>


voidmain()


{


inti;


floatx,sum,a,b;//sum代表和,a為分子,b為分母


chars;


printf("pleaseinputx");


scanf("%f",&x);


s=1;


sum=0;


a=x;//分母賦初值


b=1;//分子賦初值


for(i=1;a/b>=1e-6;i++)


{


sum=sum+s*a/b;//累加一項


a=a*x*x;//求下一項分子


b=b*2*i*(2*i+1);//求下一項分母


s*=-1;


}


printf("sum=%f ",sum);


}

3、 關於上述程序的幾點說明:上述程序的計算結果精確到小數點後六位;上述程序運用了sin的泰勒展開式 sin x=x-x^3/3!+x^5/5! ...... ,程序中將sin泰勒公式中的每一項拆成了分子,分母以及每一項前的符號這三項,以便於每一項的累加。

③ 怎麼用c語言編正弦函數計算

  1. 樓上的各位已經提到了scanf輸入控制與目標數據類型不匹配的問題,即應改為:scanf("%f",&n);

  2. 另外三樓有提到說角度與弧度的問題,就是說sin()和cos()輸入需要保證為弧度,所以你需要轉換一下,比如你這個90度就應該約是1.57。

  3. 其實我覺得應該弄清楚的是為什麼在輸入控制錯誤的情況下,還會產生這樣的結果。

    這是因為輸入控制錯誤,導致n的值沒有變化,也就是說後邊計算正弦餘弦的時候也是計算的n的初始值。你可以在先不改正輸入控制的前提下,在輸入語句前加一個輸出語句,看看n值為多少,如果沒猜錯的話,應該是0,進而計算的結果也當是正確的。也許你要問了,不是說局部變數自動變數未初始化的話值是隨機值么,怎麼會是0呢?是的,我也很納悶,也許適合具體的編譯環境有關吧,不同的編譯環境對這種情況可能處理會有所不同吧,留待自己去探究咯~

    希望能幫到你~歡迎交流~

④ 求一c語言編程實現輸出正弦函數表

#include<stdio.h>
#include<math.h>
int
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0<x<2*pi]\n");
for(y=1;y>=-1;y-=0.1){//表示y的
取值范圍
是[-1,1]
if(y>=0){
m=asin(y)*10;
//
反正弦函數
,確定空格的數量,最大值為15
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");//注意此時不換行,因為後面還有一個點
for(;x<31-m;x++)printf("
");//輸出第二個點,並換行
printf("*\n");}
else{//同理輸出y小於0的點
m=-1*asin(y)*10;
for(i=0;i<32;i++)printf("
");
for(x=1;x<m;x++)printf("
");
//printf("*",m);
printf("*");
for(;x<31-m;x++)printf("
");
printf("*\n",m);
}
}
getchar();
return
0;
}
參考一下

⑤ 用c語言編寫程序求正弦

好像可以運行啊,你用的是什麼編譯器?我用visual C++6.0測試通過!
另外你既然用到了getch()函數,最好在開頭加一下包含頭文件#include <conio.h>

其他的沒什麼錯誤了,我已經測試過了,運行結果也是正確的,當然了運行的時候你要注意x是弧度表示的,而不是角度。

⑥ c語言畫正弦函數

我調試的時候是一個,運行的時候有兩個。
完整的調試了一邊,發現是精度的問題,到最後y的值不是-1而是-0.999.....87,所以它才輸出了最後的*

你把y!=
-1改成y>=
-0.999,就正常了
double
y=0.0
=>
y-0.1=
-0.100...1
,所以double型的不要使用整數來作為參照點

⑦ 如何用C語言實現正弦或餘弦函數

如果只是需要值,那麼調用math中的sin和cos函數即可.
參數為弧度, 如果要使用的參數是角度,需要自行轉換一下.
如果想自己寫,可以參考泰勒展開, 計算近似值.一般計算到最後一項小於1e-6即可.

⑧ 正弦函數C語言編程

那隻有用泰勒級數來完成了,
sin(x)=x-pow(x,3)/3!+pow(x,5)/5!-..............
其中的x用的是弧度,轉換的格式是:
弧度=角度*pi/180

⑨ C語言題目:求正弦函數值。

你要把o=2*n+1放在循環內部。你的程序中o始終是個系統默認的值,而且應該是個很大的負數。

⑩ C語言正弦函數

sin值就是可以是負數。不過sin不是按角度算的,是按弧度算的。就是sin(PAI)=0;sin(PAI/2)=1。