/*
* Copyright (c) 2013, 烟台大学计算机与控制工程学院
* All rights reserved.
* 作    者: 孔令玺
* 完成日期:2013 年 11 月  17日
* 版 本 号:v1.0
*
* 问题描述: 故事是这样的:话说sin和cos是一对夫妇。一天,sin去听相声了,cos在家。过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数。cos问:你是谁啊?他说:我是你的老公sin啊。cos说:你不是去听相声了吗?怎么成这幅摸样了?他说:是啊,太乐了!  用sin和cos的泰勒展开式编程序,求出sin(π/2)、sin(56°)、cos(87°)、cos(π/3),当最后一项的绝对值小于0.00001时,累加结束(求绝对值的函数也可以自定义函数myabs实现)。
* 样例输入:
* 样例输出:
* 问题分析:
*/
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double);
double mycos(double);
double myabs(double);   //程序中需要求精度的绝对值,也用自定义函数完成吧
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl;
return 0;
}
double mysin(double x)
{
double sum=x,x_pow=x,item;
int n=1,fact=1,sign=1;     //定义变量时赋初值,已经将第一项考虑到累加和sum中
do
{
fact=fact*(n+1)*(n+2);  //fact用于表示阶乘,在公式中作分母
x_pow*=x*x;             //x_pow是分子中用于表示阶乘,在公式中作分母
sign=-sign;             //确定即将要累加的这一项的符号
item =x_pow/fact*sign; //计算出要累加的项
sum+=item;              //将该项累加上去
n+=2;
}while(myabs(item)>1e-5);
return sum;
}
//下面定义mycos函数
double mycos(double x)
{
double sum=1,x_pow=1,item;
int n=0,fact=1,sign=-1;
do
{
fact=fact*(n+1)*(n+2);
x_pow*=x*x;
item =x_pow/fact*sign;
sum+=item;
sign=-sign;
n+=2;
}while(myabs(item)>0.00001);
return sum;
}
//下面定义myabs函数
double myabs(double x)
{
return ((x>=0)?x:-x);
}

第12周项目2:太乐了(先听故事,再编程序)相关推荐

  1. C++第12周项目6——太乐了!

    课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目6-泰勒展开] 先听故事,再编程序.故事是这样的:话说sin和cos ...

  2. 第11周项目七 太乐(泰勒)了

    问题描述:   (1)先听故事,再编程序. 故事是这样的:话说 sin 和 cos 是一对夫妇.一天,sin 去听相声了,cos 在家.过了一会,有人 敲门,cos 开门一看,是一个不认识的多项式函数 ...

  3. 第12周项目2—摩托车继承自行车和机动车

    问题及代码: /** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作 者:李盈盈* 完成日期:2015年 0 ...

  4. 第四周项目二-太乐了

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年3月20日*版 本 号:v1. ...

  5. 第12周 项目4-输出从顶点u到v的所有简单路径

    问题及描述: #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 ...

  6. 第12周项目4—点、圆的关系

    问题及代码: /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李盈盈 * 完成日期:20 ...

  7. C++项目参考解答-太乐了

    [项目-太乐了] (1)先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数.cos问:你 ...

  8. 《C语言及程序设计》实践参考——太乐了

    返回:贺老师课程教学链接  项目要求 [项目7-太乐了] 先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一 ...

  9. 2014秋C++ 第8周项目 分支程序设计

    课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课 ...

最新文章

  1. C++ 类 和 对象!
  2. 【物联网智能网关-14】Html5:Canvas+WebSocket实现远程实时通信(下)
  3. Cacti on nginx + php-fpm
  4. leetcode算法题--对称的二叉树
  5. 全球及中国固体真空重合器行业深度调研及竞争格局展望报告2021-2027年版
  6. loadrunner linux 端口,Linux下loadrunner generator的安装
  7. SpringBoot多模块项目整合Dubbo
  8. 数字电视发射机行业调研报告 - 市场现状分析与发展前景预测
  9. 2020年十大开源漏洞回顾
  10. 兴趣 程序猿宅必备超级好看的动漫
  11. Julia学习04——函数
  12. 如何保证战略落地_如何真正让企业战略规划体系落地
  13. 金蝶系统登录显示云服务器繁忙,金蝶系统登录显示云服务器繁忙
  14. git fetch - git merge - git pull 指令
  15. ISCSI linux/windows配置及使用
  16. docker-Alpine添加字体支持功能
  17. 小程序抢购页面倒计时定时器
  18. Qt小游戏之数字华容道(百行代码搭雏形,可玩;含源码+注释)
  19. greenplum 源码解析 FTS辅助进程工作主流程
  20. SQL Server 2012 SP1 企业版

热门文章

  1. yolo cfg文件解析
  2. 当zookeeper报错Invalid config, exiting abnormally,Error contacting service. It is probably not running
  3. python地形图渲染_Python-Evoked地形图可视化
  4. OBD 诊断与 UDS 诊断有什么区别?
  5. Go语言教程第十集 如何玩转Restful和RPC网络编程
  6. 速度翻倍 SAS 6Gb/s接口性能全揭秘
  7. 电脑故障:win7键盘失灵,鼠标能用
  8. Android创意——多功能智能播放器
  9. 教你一招数组去重的方法,终身受益
  10. 信息安全——加密与认证