*烟台大学计算机学院
*文件名称:032.cpp
*作 者:李亚辉
*完成日期:2016年4月7日
*版 本 号:codeblocks 16.01
*
*问题描述:用sin泰勒展示编写程序,求出sin(π/2),和sin(56°)的值。精确度要求达到
小数点后6位(即最后一位的绝对值小于0.00001时,完成累加,绝对值的函
数也可以自定义myabs实现)
*输入描述:无
*程序输出:sin(π/2),和sin(56°)的值
*/
#include<iostream>
double mysin(double x);
double myabs(double y);
using namespace std;
const double pi=3.1415926;
int main()
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin(14*pi/45)<<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(myabs(t)>=1e-10);
return g;
}
double myabs(double y)
{
if(y<0)
return -y;
else
return y;
}
第四周项目2太乐了
最新推荐文章于 2016-04-21 08:30:33 发布