第12周项目2:太乐了(先听故事,再编程序)
/*
* 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:太乐了(先听故事,再编程序)相关推荐
- C++第12周项目6——太乐了!
课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目6-泰勒展开] 先听故事,再编程序.故事是这样的:话说sin和cos ...
- 第11周项目七 太乐(泰勒)了
问题描述: (1)先听故事,再编程序. 故事是这样的:话说 sin 和 cos 是一对夫妇.一天,sin 去听相声了,cos 在家.过了一会,有人 敲门,cos 开门一看,是一个不认识的多项式函数 ...
- 第12周项目2—摩托车继承自行车和机动车
问题及代码: /** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作 者:李盈盈* 完成日期:2015年 0 ...
- 第四周项目二-太乐了
/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年3月20日*版 本 号:v1. ...
- 第12周 项目4-输出从顶点u到v的所有简单路径
问题及描述: #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 ...
- 第12周项目4—点、圆的关系
问题及代码: /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李盈盈 * 完成日期:20 ...
- C++项目参考解答-太乐了
[项目-太乐了] (1)先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数.cos问:你 ...
- 《C语言及程序设计》实践参考——太乐了
返回:贺老师课程教学链接 项目要求 [项目7-太乐了] 先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一 ...
- 2014秋C++ 第8周项目 分支程序设计
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课 ...
最新文章
- iPhone开发:Objective-c中@property声明时的参数释疑
- php开源文件管理,搭建php开源的文件管理器eXtplorer
- 如何自己搞一个维基百科?
- 边工作边刷题:70天一遍leetcode: day 33-3
- 计算一个list中数据的平均数、中位数和众数【python实现】
- 为什么要用内部类:控制框架【转】
- 搜索引擎其实是一个读库
- vue项目中z-index不起作用(将vue实例挂在到window上面)
- MySQL创建不了计划任务_MySQL创建定时任务(或计划任务)
- python两数相加有进退位_Leetcode_两数相加_python
- 华为机试题【11】-报数删除人
- 三星Galaxy A73显示Geekcbench:或搭载骁龙778G
- win7与winxp双系统安装后的引导过程
- 迅雷chrome扩展插件造成服务器返回的数据js解析页面数据异常
- .Net程序员学用Oracle系列(18):PLSQL Developer 攻略
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
- 面试2年经验的Java程序员面试题部分带答案
- dev:dev fatal: HttpRequestException encountered. remote: Invalid username or password. fatal: Authen
- 一文看懂人工智能产业链!
- java调用百度地图api,展示北京地铁路线
热门文章
- 【Unity入门】资源包导入和导出
- 向日葵 ubuntu18
- 伺服电机的选型计算方法
- 马云身退,而未必功成!
- 统计字符串中英文字母和数字分别有多少个
- [Expression Blend 4] [SketchFlow系列] Chapter 2 瞭解SketchFlow Map (中)
- ant vue 设置中文_vue+Ant design vue做项目-Go语言中文社区
- 我们静静地等待着老师的怀念到来
- 腾讯地图SDK距离测量小工具
- Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?