我正在尝试编写一个小程序,用于计算用户提供的角度的正弦和余弦,精度为6位小数。计算正弦或余弦时奇怪的符号问题
它是这样的:
输入(角度)
90
输出(正弦余弦)
1.000000 0.000000
但我有一个问题与他们中的一些,例如,当用户输入-850,程序返回:
-1.000000 -0.000000
注意-0.000000,有没有一种干净的方法来避免这种情况?它一定很简单,但我很想念它。
BTW,以清洁的方式,我指的东西清洁像
if(angle > -0.000001)
{
angle = 0.000000;
}
下面的代码:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
float angle;
while(1)
{
cin >> angle;
if(cin.eof())
{
return 0;
}
angle = angle*M_PI/180.0;
cout << fixed << setprecision(6) << sin(angle) << " " << cos(angle) << endl;
}
return 0;
}
感谢您的关注。
你还在积极寻找答案吗? – chux 2013-08-06 05:24:07