我是C++编程的新手.我想用while循环编写一个程序,它显示sin,cos和Tan的三角表.它以角度为单位,相差5,显示结果.这就是我试过的,
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int num;
cout<< "Angle Sin Cos Tan"<<endl;
cout<< "..........................."<<endl;
num=0;
while (num<=360)
{
cout <<setw(3)<<num<<" "
<<setw(3)<<setprecision(3)<<sin(num)<<" "
<<setw(3)<<setprecision(3)<<cos(num)<<" "
<<setw(5)<<setprecision(3)<<tan(num)<<endl;
num=num+5;
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法在while循环中将弧度更改为度数,即使对于弧度,显示也看起来不太有希望.我该如何解决?
要将度数转换为辐射度,您必须乘以pi并除以180.0:
#define M_PI 3.14159265358979323846
int num = 0;
while (num<=360)
{
double numRad = num * M_PI/180.0;
std::cout <<std::setw(3)<<num<<" "
<<std::setprecision(3)<<std::fixed
<<std::setw(6)<< std::sin( numRad ) <<" "
<<std::setw(6)<< std::cos( numRad ) <<" ";
if ( num != 90 && num != 270 )
std::cout<<std::setw(6)<< std::tan( numRad ) <<std::endl;
else
std::cout<< "infinitely" <<std::endl;
num=num+5;
}
Run Code Online (Sandbox Code Playgroud)
要使用常量,M_PI请参阅如何在C++中使用PI常量