######编写一个程序,根据用户命令和所输入锐角值计算并输出三角函数值。
简化使用:用一个整数表示用户命令。1表示sin,2表示cos。
sin(x) = x – (x^3/3!) + (x^5/5!) – (x^7/7!) + …
cos(x) = 1 – (x^2/2!) + (x^4/4!) – (x^6/6!) + …
要求:实现2种三角函数,不能用<math.h>中的三角函数,用泰勒级数展开实现。
注:x^3 表示x的三次方,3!表示3的阶乘,其它类推。
终止条件:直到最后分项的绝对值小于0.0000001(即1e-7)。
注意:输入的角度必须先转成弧度,其中圆周率PI取值约定为3.1416。
测试说明:
测试输入:1 30
预期输出:0.453451
测试输入:2 45
预期输出:0.707105
#include<iostream>
using namespace std;
int main()
{
#define pi 3.1416
int m,n;
cin>>m>>n;
switch(m){
case 1:
{float a,x=1,answer=0;
a=n/180*pi;
for(int i=1;i<20;i++){
x*=a/i;
if(i%4==1){answer+=x;}
if(i%4==3){answer-=x;}
}
cout<<answer;
}
case 2:
{float a,x=1,answer=1;
a=n/180*pi;
for(int i=1;i<20;i++){
x*=a/i;
if((i+1)%4==3){answer-=x;}
if((i+1)%4==1){answer+=x;}
}
cout<<answer;
}
}
}