① 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語言編正弦函數計算
樓上的各位已經提到了scanf輸入控制與目標數據類型不匹配的問題,即應改為:scanf("%f",&n);
另外三樓有提到說角度與弧度的問題,就是說sin()和cos()輸入需要保證為弧度,所以你需要轉換一下,比如你這個90度就應該約是1.57。
其實我覺得應該弄清楚的是為什麼在輸入控制錯誤的情況下,還會產生這樣的結果。
這是因為輸入控制錯誤,導致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。