首页 > 解决方案 > 显示错误输出的 sin 和 cos 函数 (c++)

问题描述

当我尝试在 for 循环中打印 60 度、30 度、s 和 45 度的 sin() 和 cos() 时,对于某些迭代,输出显示 e-006 范围内的奇怪值。我正在使用 DevC++ 运行代码。为什么会发生这种情况,我该如何纠正?附有输出的屏幕截图。该错误仅在每 100-200 次迭代中发生一次。

输出截图 编译器设置: compiler编译器设置 1编译器设置2编译器设置3编译器设置4编译器设置5编译器设置6

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
     for(double i=0;i<100;i++)
    {
        cout<<i<<"  :  "<<cos((M_PI/180.0)*60.0)<<"  :  "<<cos((M_PI/180.0)*45.0)<<"  :  "<<sin((M_PI/180.0)*45.0)<<"  :  "<<sin((M_PI/180.0)*30.0)<<"\n";
    }
}

The output is like:
i    cos(60)   cos(45)     sin(45)     sin(30)
**********************************************
0  :  0.5  :  0.707107  :  0.707107  :  0.5
1  :  0.5  :  0.707107  :  0.707107  :  0.5
2  :  0.5  :  0.707107  :  0.707107  :  0.5
3  :  0.5  :  0.707107  :  0.707107  :  0.5
4  :  0.5  :  0.707107  :  0.707107  :  0.5
5  :  7.62939e-006  :  0.707107  :  0.707107  :  0.5
6  :  0.5  :  0.707107  :  0.707107  :  0.5
7  :  0.5  :  0.707107  :  0.707107  :  0.5
8  :  0.5  :  0.707107  :  0.707107  :  0.5


谢谢你。

标签: c++dev-c++

解决方案


推荐阅读