/*copyright(c)2016.烟台大学计算机学院
* All rights reserved,
* 文件名称:text.Cpp
* 作者:吴敬超
* 完成日期:2016年3月22日
* 版本号:vc++6.0
*
* 问题描述:用sin泰勒式编写出程序,求出sin(PI/2)和sin(56)的值,精度要求达到小数点后六位
(即当最后一位的绝对值小鱼0.000001时累加结束,求绝对值的函数也可以自定义为函数myabs实现)。
* 输入描述: 无输入
* 程序输出: 输出表达式的值。
*/
#include<iostream>
#include<cmath>
using namespace std;
double mysin(double x);
const double pi=3.1415926;
int main()
{
cout<<"sin(PI/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56)的值为"<<mysin(56)<<endl;
return 0;
}
double mysin(double x)
{
double g=0;
double t=x;
int n=1;
do
{
g+=t;
n++;
t=-t*x*x/(2*n-1)/(2*n-2);
}
while(t>=1e-6);
return g;
}
运行结果:
学习心得:
知道了如何去求三角函数;通过这次的做题我学会了啦如何去锻炼自己的思维;