/*
* 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. iPhone开发:Objective-c中@property声明时的参数释疑
  2. php开源文件管理,搭建php开源的文件管理器eXtplorer
  3. 如何自己搞一个维基百科?
  4. 边工作边刷题:70天一遍leetcode: day 33-3
  5. 计算一个list中数据的平均数、中位数和众数【python实现】
  6. 为什么要用内部类:控制框架【转】
  7. 搜索引擎其实是一个读库
  8. vue项目中z-index不起作用(将vue实例挂在到window上面)
  9. MySQL创建不了计划任务_MySQL创建定时任务(或计划任务)
  10. python两数相加有进退位_Leetcode_两数相加_python
  11. 华为机试题【11】-报数删除人
  12. 三星Galaxy A73显示Geekcbench:或搭载骁龙778G
  13. win7与winxp双系统安装后的引导过程
  14. 迅雷chrome扩展插件造成服务器返回的数据js解析页面数据异常
  15. .Net程序员学用Oracle系列(18):PLSQL Developer 攻略
  16. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
  17. 面试2年经验的Java程序员面试题部分带答案
  18. dev:dev fatal: HttpRequestException encountered. remote: Invalid username or password. fatal: Authen
  19. 一文看懂人工智能产业链!
  20. java调用百度地图api,展示北京地铁路线

热门文章

  1. 【Unity入门】资源包导入和导出
  2. 向日葵 ubuntu18
  3. 伺服电机的选型计算方法
  4. 马云身退,而未必功成!
  5. 统计字符串中英文字母和数字分别有多少个
  6. [Expression Blend 4] [SketchFlow系列] Chapter 2 瞭解SketchFlow Map (中)
  7. ant vue 设置中文_vue+Ant design vue做项目-Go语言中文社区
  8. 我们静静地等待着老师的怀念到来
  9. 腾讯地图SDK距离测量小工具
  10. Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?