本文目錄一覽:
c語言中sin是啥?
C語言sin()用來計算參數x 的正玄值,然後將結果返回。返回-1 至1 之間的計算結果。
例子:
#include math.h
main(){
double answer = sin(0.5);
printf(“sin(0.5) = %f\n”, answer);
}
執行
sin(0.5) = 0.479426
C語言sin():
sin()原型:double sin(double x)
sin()角度與弧度:
π=180°
1°=π/180
1(rad)=180/π
角度轉弧度:用角度乘以π/180
弧度轉角度:用弧度乘以180/π,或者用rtod()函數
擴展資料:
與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\n”, x, result);
return 0;
}
參考資料:CSDN博客頻道-C語言中sin和cos的用法
c語言sin函數
C語言中要編寫sin函數,實質上要利用sin的泰勒公式,然後根據泰勒公式,將其中的每一項進行分解,最後用循環,累加計算出最終結果
下面用for循環實現sin的算法,程序代碼如下:
#includestdio.h
#includemath.h
void main()
{
int i;
float x,sum,a,b; //sum代表和,a為分子,b為分母
char s;
printf(“please input x”);
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\n”,sum);
}
3. 關於上述程序的幾點說明:上述程序的計算結果精確到小數點後六位;上述程序運用了sin的泰勒展開式 sin x=x-x^3/3!+x^5/5! …… ,程序中將sin泰勒公式中的每一項拆成了分子,分母以及每一項前的符號這三項,以便於每一項的累加
C語言正弦函數
徑度與角度不同
建議修改如下:
#include stdio.h
#include math.h
#define PI 3.14159265
void main()
{
float x;
double y;
printf(“入角度值:\n”);
scanf(“%f”,x);
y=sin(x*PI/180);
printf(“sin(%f°)=%2lf\n”,x,y);
}
c語言計算sinx的值問題,運行無錯但得不到想要的結果.求解
/*sin(x)的泰勒展開式
sin(x)=x-x**3/(3!)+x**5/(5!)+……..
*/
#include
#include
#define
PI
3.1415926
void
main()
{
int
n=1,c=1,a,b=1;
long
double
x,d=0,sinx=0;//這裡定義長雙精度,long
float不是標準的數據類型
printf(“請輸入x的值:”);
scanf(“%lf”,x);//這裡輸入一定是%lf,輸入一開始就不對
for(n=1,c=1,a=1;;a++)
{
d=pow(x,n)/c;
sinx+=b*d;
b*=-1;
n++;
c*=n;
n++;
c*=n;
if(d1e-5)//可以寫成1e-5,不需再調用函數
{
break;
}
}
printf(“sinx的值為%f\n”,sinx);
printf(“運行的項數為%d\n”,a);
printf(“sin(x)的值為%lf\n”,sin(x));//作測試對比,注意輸入為弧度
}
用C語言算SIN30度得0是怎麼回事
因為計算順序,在算30/180的時候,因為是int的,所以結果是0,0*3.14159還是0,sin0還是0,所以你要寫成30.0/180,當然或者把180寫成180.0也可以,或者都用x.0這樣,就會自動轉為double類型,或者你直接指定是double類型或者float類型,這點一定要注意
原創文章,作者:UVIY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142813.html