*All rights reserved.
*文件名称:太乐了
*作者:杨飞
*完成日期:2013年 11 月18日
*版本号:v1.0
*对任务及求解方法的描述部分:太乐了
我的程序
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double);
double mycos(double);
double myabs(double);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl;
return 0;
}
double mysin(double x)
{
double sum=x,x_pow=x,item;
int n=1,fact=1,sign=1;
do
{
fact=fact*(n+1)*(n+2);
x_pow*=x*x;
sign=-sign;
item =x_pow/fact*sign;
sum+=item;
n+=2;
}while(myabs(item)>1e-5);
return sum;
}
double mycos(double x)
{
double sum=1,x_pow=1,item;
int n=0,fact=1,sign=-1;
do
{
fact=fact*(n+1)*(n+2);
x_pow*=x*x;
item =x_pow/fact*sign;
sum+=item;
sign=-sign;
n+=2;
}while(myabs(item)>0.00001);
return sum;
}
double myabs(double x)
{
return ((x>=0)?x:-x);
}
运行结果: