/*
* Copyright (c) 2014,烟台大学计算机学院
* All rights reserved.
*文件名称: test.cop
*作者:翟兴雷
*完成日期:2014年11月7日
*版本号:v1.0
*
*问题描述:
*输入描述:
*程序输出:
*/
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double x);
double myabs(double x);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin(pi*(56.0/180))<<endl;
return 0;
}
double mysin(double x)
{
double sum=x,h=x,l;
int n=1,f=1,s=1;
do
{
f=f*(n+1)*(n+2);
h*=x*x;
s=-s;
l =h/f*s;
sum+=l; n+=2;
}
while(myabs(l)>1e-5);
return sum;
}
double myabs(double x)
{
return ((x>=0)?x:-x);
}
运行结果