如何在 C++ 中计算度数的 sin 值?

How do I calculate sin values in degree in c++?

我一直在为一个简单的科学计算器编写代码。现在,我使用了 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;

我希望输出以度为单位,但显示不正确。同时,这里是 inverse 的代码,它在其中正常工作。

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;

而不是

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

你想要

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

I expect the output in degrees

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

sincos 没有 return 角度,因此您不能谈论它们的 return 度数或弧度值。

您不仅需要在 应用 sincos 之前对角度 应用弧度<->度数转换,您还需要将 度转换为弧度,而不是相反 。因此你需要 *PI/180,而不是 *180/PI.