如何在C ++中以度为单位计算sin值?

时间:2019-02-09 11:28:45

标签: c++ math.h

我一直在为一个简单的科学计算器编写代码。现在,我使用了math.h库,但它以弧度给出sin,cos,tan的值,而我想以度为单位。我尝试使用* 180 / PI,但无法正常工作。另一方面,它与反值一起工作(* 180 / PI)。

cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Sin = "<<sin(a)*180.0/PI <<endl;
break;
case 8:
cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Cos = "<<cos(a)*180.0/PI <<endl;
break;
case 9:
cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Tan = "<<tan(a)*180.0/PI <<endl;

我希望输出以度为单位,但不能正确显示。同时,这是逆向代码在其中可以正常工作。

case 10:
cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Inverse of Sin = "<<asin(a)*180.0/PI<<endl;
break;

case 11:
cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Inverse of Cos = "<<acos(a)*180.0/PI<<endl;
break;
case 12:
cout<<"Enter the number : ";
cin>>a;
cout<<endl;
cout<<"Inverse of tan = "<<atan(a)*180.0/PI<<endl;
break;

2 个答案:

答案 0 :(得分:1)

  

我希望输出以度为单位

不,你不知道。 您希望输入内容会被解释为度数。

sincos不会返回角度,因此您无法谈论角度或弧度的返回值。

不仅需要将弧度<->度数转换为角度,然后对其应用sincos,还需要转换度到弧度,而不是相反。因此,您需要*PI/180,而不是*180/PI

答案 1 :(得分:-1)

代替

cout<<"Sin = "<<sin(a)*180.0/PI <<endl;

你想要

cout<<"Sin = "<<sin(a*PI/180.0) <<endl;