/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年3月19日
*版 本 号:v1.0
*
*问题描述:写一个函数计算出sin(π/2)和sin(56°)
*输入描述:无
*输出描述:输出sin(π/2)和sin(56°)的值
*/
#include <iostream>
#include <cmath>
using namespace std;
const double pi = 3.1415926;
double mysin(double x);
double fac(double n);
int main()
{
cout << "sin(π/2)的值为" << mysin(pi/2) << endl;
cout << "sin(56°)的值为" << mysin(14*pi/45) << endl;
return 0;
}
double mysin(double x)
{
double a = 1;
double temp;
double deno = 1;
double result = 0;
for(;;deno += 2)
{
temp = pow(x,deno)/fac(deno);
result += a*temp;
if(temp < 0.00001)
break;
a = -a;
}
return result;
}
double fac(double n)
{
double result = 1.0;
double i;
for(i = 1; i <= n; ++i)
result *= i;
return result;
}
运行结果: