问题描述:

  (1)先听故事,再编程序。
故事是这样的:话说 sin 和 cos 是一对夫妇。一天,sin 去听相声了,cos 在家。过了一会,有人
敲门,cos 开门一看,是一个不认识的多项式函数。cos 问:你是谁啊?他说:我是你的老公 sin 啊。
cos 说:你不是去听相声了吗?怎么成这幅摸样了?sin 说:是啊,太乐了!

  故事讲完了。下面是 sin 函数的泰勒展式:

用 sin 泰勒展式编写程序,求出 sin(π/2)和 sin(56°)的值,精度要求达到小数点后 6 位(即当
最后一项的绝对值小于 0.00001 时,累加结束,求绝对值的函数也可以自定义函数 myabs 实现)。

代码:

/**copyright (c) 2014,烟台大学计算机学院*all rights reserved.*文 件 名 :"太乐"了.cpp*作    者 :张   鹏*完成日期 :2014年11月08号*版 本 号 :v1.6**问题描述 :求出 sin(π/2)和 sin(56°)的值,精度要求达到小数点后 6 位。*输入描述 :无。*程序输出 :sin(π/2)和 sin(56°)的值。*/
#include <iostream>             //预处理指令。
#include <cmath>                //要使用数学符号。
using namespace std;            //使用C++的命名空间 std。
const double pi=3.1415926;      //声明一个只读变量pi代表π的近似值。
double mysin(double );          //声明自定义函数,用于求sin值(利用泰勒公式)。
double myabs(double );          //声明自定义函数,用于求绝对值。
long fac(int );                 //声明自定义函数,用于求n!。
int main ()                     //函数首部。
{cout<<"sin(π/2)的值为";cout<<mysin(pi/2)<<endl;cout<<"sin(56º)的值为";cout<<mysin((56*pi)/180);   //输出结果并在输出时调用mysin函数求sin近似值。return 0;
}
double mysin(double m)          //自定义函数mysin部分。
{int n,s=1;                  //声明2个变量为整型。n用于循环,s用于泰勒公式中每一项的变号。double c=1,sum=0;           //声明2个变量为实型。c代表泰勒公式中的第n项,sum用来求sin值。for (n=1; myabs(c)>0.00001; n+=2) //保证精确值为0.000001。并在for语句中语句二调用myabs函数。{c=(s*pow(m,n))/fac(n);  //求每一项的值,并调用函数fac。sum+=c;s=-s;}return sum;                 //返回sum值即sin的近似值。
}
long fac (int i)                //自定义函数fac部分。
{int sum=1;if (i==0||i==1);else while (i!=1){sum*=i;i--;}return sum;                 //求得n!并返回其值。
}
double myabs(double c)          //自定义函数myabs部分,求出绝对值。
{if (c<0)c=-c;return c;
}

运行结果:ps(在电脑上打出的汉字变成乱码了,于是在手机上跑了下)


学习心得:

  自定义函数真心赞,让程序变得更加调理。大大提高了程序的可读性。

第11周项目七 太乐(泰勒)了相关推荐

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

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

  2. 第11周项目7-呵呵,真是太乐(泰勒)了

    1./* 2. * Copyright (c) 2014, 烟台大学计算机学院 3. * All rights reserved. 4. * 文件名称:test.cpp 5. * 作 者:刘畅 6. ...

  3. 第十一周 项目七:太乐了(泰勒公式)

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

  4. 第11周 项目7-太乐了(2)

    /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:呼亚萍 * 完成日期:2014年 11 ...

  5. 数据结构上机实践第11周项目3 - 图遍历算法实现

    图遍历算法实现 本次实践将运用图结构基本算法库,进行遍历操作的实现,本次实践到的算法库点击此处参考.(编译环境:VC++6.0) 1.深度优先遍历--DFS 测试用图: 测试时用的图是,可以使用其他类 ...

  6. 数据结构上机实践第11周项目2 - 操作用邻接表存储的图

    操作用邻接表存储的图 本次实践将对用邻接表存储的图进行按要求操作,运用起所建立的图的算法库.本次实践所用到的算法库点击此处参考.(编译环境:VC++6.0) 本次实践的具体要求如下: 假设图G采用邻接 ...

  7. 数据结构上机实践第11周项目1 - 图基本算法库

    图基本算法库   本次实践将建立图的基本算法库,用以丰富算法库,灵活应对更多样的工程,所谓"技多不压身",算法亦如此.   本次实践将运用多文件组织工程的建立,点击此处参考.(编译 ...

  8. C++第10/11周项目 继承与派生 【项目1 - 点-圆-圆柱类族的设计】(复习新版)

    /*  *copyright(c) 2016,烟台大学计算机学院  *All rights reserved  *文件名称:test.cpp  *作者:谭泽纯  *版本:v6.0  *  *问题描述: ...

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

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

最新文章

  1. 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第二弹)
  2. linux架构接口层教程,在LINUX平台上进行成功实现RIL层功能和框架层应用
  3. python是一种语言还是一个软件-python和GO语言应该选择哪一个?老男孩教育
  4. Oracle学习笔记之一,重温范式
  5. python附件发送到邮箱里_使用python将最新的测试报告以附件的形式发到指定邮箱...
  6. coreldraw中制作蚊香实例_关于CorelDRAW印前排版规范你知道么?
  7. web 错误 处理你的请求时出错_最强辅助Jmeter技术干货:JMeter中处理器的另类玩法...
  8. 连接mysql数据库格式_MySQL_Mysql数据库命令大全,一、连接Mysql格式: mysql -h - phpStudy...
  9. 同余定理在算法求解中的应用
  10. mysql中in和exists区别
  11. SI4463模块使用心得(无线协议)
  12. 大型地震灾害应急通信系统解决方案
  13. 新产品开发过程基本原则
  14. 【工具篇】---2DTileMapLevelEditor地图编辑器
  15. 傻子都能看懂的 财务报表入门
  16. c语言编程顺序查找法,建立顺序表,实现顺序表的遍历,在顺序表中查找关键字为e的元素(c语言编写)...
  17. Windows10如何设置定时开机
  18. MITK中窗宽窗位相关代码
  19. 前端--HTML入门
  20. 一个IT人的辞职信:怀着梦想去远行!

热门文章

  1. ant-design之Checkbox.Group循环
  2. lisp 画双线带倒圆角_VisualLisp增加公差、消除重合直线圆弧
  3. 如何构建Trello Chrome扩展程序-API身份验证
  4. vcard规范 二维码名片的格式
  5. maven-shade-plugin入门指南
  6. Flink China 社区运营成果报告(7月-9月)
  7. Linux查看配置命令汇总
  8. 《数据挖掘与数据化运营实战》(第1-2章)
  9. 可以用来开发GUI界面的主流语言和平台(一)
  10. 花一万个小时练习 Coding,不要浪费一万小时无谓地 Debugging