我一直在为一个简单的科学计算器编写代码。现在,我使用了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;
答案 0 :(得分:1)
我希望输出以度为单位
不,你不知道。 您希望输入内容会被解释为度数。
sin
和cos
不会返回角度,因此您无法谈论角度或弧度的返回值。
不仅需要将弧度<->度数转换为角度,然后对其应用sin
或cos
,还需要转换度到弧度,而不是相反。因此,您需要*PI/180
,而不是*180/PI
。
答案 1 :(得分:-1)
代替
cout<<"Sin = "<<sin(a)*180.0/PI <<endl;
你想要
cout<<"Sin = "<<sin(a*PI/180.0) <<endl;