项目 2-太乐了

/*
 *2015 烟台大学计算机与控制工程学院
 *文件名称: 项目 2-太乐了
 *作者:马康泰
 *完成日期 :2016年3月12日
 *版本号;
项目 2-太乐了】
话说 sin和  cos是一对夫妇。一天,sin去听相声了,cos在家。过了一会,有人敲门,cos开门
一看,是一个不认识的多项式函数。cos问:你是谁啊?他说:我是你的老公  sin啊。cos说:你不
是去听相声了吗?怎么成这幅摸样了?sin说:是啊,太乐了!
故事讲完了。下面是 sin函数的泰勒展式:
(注:x取弧度值,而非角度值)
用 sin泰勒展式编写程序,求出 sin(π/2)和 sin(56°)的值,精度要求达到小数点后 6位(即当最后
一项的绝对值小于 0.00001时,累加结束,求绝对值的函数也可以自定义函数  myabs实现)。
下面是程序模板,请完成自定义函数的声明和定义,并将 main函数中下划线部分补充完整。
#include <iostream>
using namespace std;
const double pi=3.1415926;
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<_____________<<endl;
return 0;
}
//下面定义 mysin函数,求  sin值
//下面定义 myabs函数,求绝对值
提示 1:实际上,C++的数学库(#include<Cmath>)中已经提供了  sin和  cos函数,一般解题中
我们直接调用即可,而本题要求自定义函数实现,为区别起见,分别起名为 mysin和  mycos。
提示 2:程序的输出应该为:sin(π/2)的值为 1;sin(56°)的值为  0.829038
*/
#include <iostream>
#include <cmath>
using namespace std;
const double pi=3.1415926;
int jiecheng(int x);
double myabs(double  m);
double mysin(double x);
int main( )
{


cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180.0)*pi)<<endl;
return 0;
}


double mysin(double x)
{
double zhi=1,sum=0,b;
int i=1;
int a;
while (myabs(zhi)>1E-5)
{
a = 2*i-1;
b = pow(x,a);
zhi = b/jiecheng(a);
if(i%2==0)
            zhi=-zhi;
sum = sum+zhi;
i++;
}
return sum;
}
int jiecheng(int x)
{
int sum=1;
int i=1;
while(i<x+1)
{
sum *=i;
i++;
}
return sum;
}
   double myabs(double  m)
{


    if(m<0)




    m=-m;
    return m;


}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值