c語言求角度
『壹』 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語言,反三角函數求角度請教
反三角函數 得到的是弧度,除 圓周率乘 180 就得 度數。
如果要算很多個 反三角函數,你可以 建一個系數 r2d.
弧度 乘 r2d 得角度。
例如:
#include <stdio.h>
#include <math.h>
int main()
{
double x,y;
double pi=asin(1.0)*2.0;
double r2d=180.0/pi;
int i;
for (i=0;i<5;i++){
x = i;
y=atan(x) * r2d;
printf("x=%g atan=%lf\n",x,y);
};
printf("==================\n");
for (i=0;i<10;i++){
x = i * 0.1;
y=acos(x) * r2d;
printf("x=%g acos=%lf\n",x,y);
};
return 0;
}
『叄』 C語言怎樣表示三角函數計算(註:要用「角度制」表示)
1.
C語言的三角函數庫採用的單位都是弧度,如果要使用角度,就必須轉換,從角度轉換成弧度,或者是重寫一個三角函數庫。
2.
方法一,在調用三角函數之前先把角度換算成弧度,調用反三角函數之後把弧度換算成角度就可以了。可以用
pi
=
4.0
*
atan(1)
算出pi,用
a
=
d
/180.0*pi
轉換角度到弧度。
例如:
sin(45
/180.0*pi);
就是計算的sin45。
3.
方法二,直接覆寫三角函數。
例如sin函數:
double
dsin(double
d){
return
sin(45
/180.0*pi);
//原理和方法一樣,調用的時候直接使用dsin(45)即可
}
『肆』 C語言 輸入三角形的邊求角度
#include<math.h>
main()
{
floata,b,c,ca,cb,cc;
scanf("%f%f%f",&a,&b,&c);
ca=(b*b+c*c-a*a)/(2*c*b);
cb=(a*a-b*b+c*c)/(2*c*a);
cc=(a*a+b*b-c*c)/(2*a*b);
printf("<a=%f ",acos(ca)*180/3.1415926);
printf("<b=%f ",acos(cb)*180/3.1415926);
printf("<c=%f ",acos(cc)*180/3.1415926);
getch();
}
『伍』 c語言,已知正切值如何求角度
C語言有反三角函數的,,比如:
float angle,pi_angle;
pi_angle=atan(tanA);//弧度
angle=pi_angle*180/3.14159;//角度,另註:反正弦餘弦函數類似,asin,acos
『陸』 高分求 編程 c語言 已知2點求角度
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define pi 3.1415926
struct point
{
double X;
double Y;
};
struct line
{
point A;
point B;
double deg;
};
int main( )
{
line lineA;
line lineB;
double tmp;
printf("請輸點坐標(x,y)構造第一條直線\n");
printf("第一點x與y:");
scanf( "%lf%lf", &lineA.A.X, &lineA.A.Y );
printf("第二點x與y:");
scanf( "%lf%lf", &lineA.B.X, &lineA.B.Y );
//求角度
tmp=(lineA.B.Y-lineA.A.Y)/(lineA.B.X-lineA.A.X);
lineA.deg=atan(tmp);
lineA.deg=lineA.deg*double(180)/pi;
printf( "第一條直線斜線角度:%lf,%lf\n", tmp,lineA.deg );
printf("請輸點坐標(x,y)構造第二條直線\n");
printf("第一點x與y:");
scanf( "%lf%lf", &lineB.A.X, &lineB.A.Y );
printf("第二點x與y:");
scanf( "%lf%lf", &lineB.B.X, &lineB.B.Y );
//求角度
tmp=(lineB.B.Y-lineB.A.Y)/(lineB.B.X-lineB.A.X);
lineB.deg=atan(tmp);
lineB.deg=lineB.deg*double(180)/pi;
printf( "第二條直線斜線角度:%lf,%lf\n", tmp,lineB.deg );
printf( "兩條直線角度差:%lf\n", lineA.deg-lineB.deg );
return 0;
}
/*
atan等三角函數算出來的是pi形式的,看看45度的:
printf("%f\n",tan(double(45)/double(180)*pi));
printf("%f\n",atan(1)*double(180)/pi);
寫的真累,看你題目是C語言,所以沒用C++類來寫
用類來寫,又好寫,又好讀,又不容易出錯
point點(x,y)其實可以直接用COORD,又怕你沒有數據結構COORD
比如:
struct line
{
point A;
point B;
double deg;
};
改成
struct line
{
COORD dian; //COORD編譯器數據結構dian有dian.X和dian.Y
double deg;
};
*/
『柒』 幫忙用C語言計算直角三角形角度
先用atan求弧度,然後轉成角度就可以了
代碼如下
#include<stdio.h>
#include<math.h>
#definePI3.14159265359
#defineCONVERT(x)(x*180/PI)
intmain()
{
doublex=atan(1.5/2);
printf("%lf ",CONVERT(x));
return0;
}
如果鄰邊可能為斜邊 那還有一種情況求asin值,後轉為角度。
『捌』 C語言中已知sin、cos的值怎麼求角度比如sina=0.2,那麼a=請求有經驗的幫幫忙!
c語言的math.h頭文件中有反三角函數的。比如sin a = 0.2 , 只需 double a = asin(0.2),但是究竟在哪個區間,加減2*pi的問題還得自行解決……