/*
烟台大学计算机学院
文件名称:xiangmu2.cpp
版本号;code block
作者:李亚辉
完成日期:2016年4月18日
问题描述:计算sinx的泰勒展示
输入描述:无
程序输出:输出sin(pi/2)、sin(56°)
*/
#include<iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double x);
double myabs(double x);
int main()
{
cout<<"sin(pi/2)的值为:"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为:"<<mysin((56.0/180)*pi)<<endl;
return 0;
}
double mysin(double x)
{
double sum=x,xpow=x,item;
int n=1,fact=1,sign=1;
do
{
fact=fact*(n+1)*(n+2);
xpow*=x*x;
sign=-sign;
item=xpow/fact*sign;
sum+=item;
n+=2;
}while(myabs(item)>1e-6);
return sum;
}
double myabs(double x)
{
return ((x>0)?x:-x);
}
<img src="https://img-blog.csdn.net/20160418202446076?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />