我正在嘗試編寫一個小程序,用於計算用戶提供的角度的正弦和餘弦,精度爲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