问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved .
*文件名称:test .cpp
*作 者:曹莉萍
*完成日期:2014 年11月10日
*版 本 号:v1.0
*
*问题描述:根据泰勒公式输出两个sin函数的值
*输入描述:无
*程序输出:sin(π/2)和sin56的值
*/
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double x);
double myabs(double n);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56)的值为"<<mysin((56.0/180)*pi)<<endl;
return 0;
}
double mysin(double x)
{
int n=1,s=1,num=1;
double sum=x,xsum=x,i;
do
{
xsum*=x*x;
num=num*(n+1)*(n+2);
s=-s;
n+=2;
i=s*xsum/num;
sum+=i;
}
while(myabs(i)>0.00001);
return sum;
}
double myabs(double n)
{
return ((n>=0)?n:-n);
}
运行结果