打印值sin,cos,tan

问题描述 投票:2回答:3

如何在C ++编程语言中从0度到360度打印sin,cos和tan的值?

#include <iostream>
#include <math.h>
using namespace std;
#define PI 3.14159265
int main()
{
    for (int i = 0; i < 360; i++) {
        cout << i << " degrees:" << endl;
        cout << "Sin => " << sin(PI*i/180) << endl;
        cout << "Cos => " << cos(PI*i/180) << endl;
        cout << "Tan => " << tan(PI*i/180) << endl;
    }
}

我已经在上面的代码中尝试过,但是它只给出311度到360度之间的值。如何在控制台中打印0度到360度的sin,cos和tan值?

c++
3个回答
2
投票

正如@paxdiablo所提到的,信息行太多,因此要解决此问题,可以通过如下方式删除endl并为度数,sin和cos添加\ t,以下代码显示了我检查的所有必需信息。代码几乎相同,但我使用命名空间std删除了该代码,并使用以下代码替换了您的for循环主体:

 for(int i = 0; i < 360; i++) {
        std::cout << i << " degrees:" << "\t";
        std::cout << "Sin => " << sin(PI*i/180) << "\t";
        std::cout << "Cos => " << cos(PI*i/180) << "\t";
        std::cout << "Tan => " << tan(PI*i/180) << std::endl;
    }

0
投票

这里是如何获得这个

#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.14159265
int main()
{
    for(int i = 0; i <= 360; i++) {
        cout << i << " degrees:" << endl;
        cout << "Sin("<< i <<") => " << sin(PI*i/180) << endl;
        cout << "Cos("<< i <<") => " << cos(PI*i/180) << endl;
        cout << "Tan("<< i <<") => " << tan(PI*i/180) << endl;
    }
    return 0;
}

使用cmath代替math.h


0
投票

@@ Michel JS,这是您所问的,使用向量,因为我不太了解它,所以花了一些时间,但是现在您可以了,我希望这就是您想要的。

#include <iostream>
#include <cmath>
#include <vector>
#define PI 3.14159265

int main()
{
    std::vector<float> sine,cosine,tangent;

    for(int i = 0; i < 360; i++) {
        sine.push_back(sin(PI*i/180));
        cosine.push_back(cos(PI*i/180));
        tangent.push_back(tan(PI*i/180));
    }
    for ( int i = 0 ; i < 360 ; i++)
    { 
        std::cout << i << " degrees:" << "\t";
        std::cout << "Sin => " << sine.at(i) << "\t";
        std::cout << "Cos => " << cosine.at(i) << "\t";
        std::cout << "Tan => " << tangent.at(i) << std::endl;
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.