/*
* copyright (c) 2014 , 烟台大学计算机学院
* all rights reserved .
* 文件名称 : textst . cpp
* 作者 : 孙旭明
* 完成日期 : 2014年12月日
* 版本号 : v1.0
*
* 问题描述 :泰勒公式
* 程序输出 : 搜易贼
#include <iostream>
#include <iomanip>
using namespace std;
const double pi=3.1415926;
double mysin(double);
double myabs(double);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((14.0/45)*pi)<<endl;
return 0;
}
//下面定义mysin函数,求sin值
double mysin(double x)
{
double lsin,dpow=x,sum=x;
int i=1,j=1,s=1;
do
{
j=j*(i+1)*(i+2);
dpow*=x*x; //求阶乘
s=-s;
lsin=dpow/j*s;
sum+=lsin;
i+=2;
}
while(myabs(lsin)>1e-5); //判断绝对值大小并保留小数点后五位
return sum;
}
//下面定义myabs函数,求绝对值
double myabs(double x)
{
return ((x>=0)?x:-x);
}