/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:Annpion.cpp
*作者:王耀鹏
*完成日期:2014年11月11日
*版本号:v1.0
*
*问题描述:泰克公式。
*输入描述:不输入。
*程序输出:输出sin(π/2)、sin(56°)的值。
*/
#include<iostream>
#include<cmath>
using namespace std;
double mysin(double);
double myabs(double);
long fac(int);
const double pi=3.1415926;
int main()
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin(56*pi/180)<<endl;
return 0;
}
double mysin(double x)
{
int n,s=1;
double z=1,sum=0;
for(n=1;myabs(z)>0.00001;n+=2)
{
z=pow(x,n)/fac(n)*s;
s=-s;
sum+=z;
}
return sum;
}
double myabs(double x)
{
if(x<0)
x=-x;
return x;
}
long fac(int x)
{
int n;
long pro=1;
for(n=1;n<=x;n++)
{
pro*=n;
}
return pro;
}
运行结果: