第十一周项目7 泰勒 求解

运行及代码:

/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:d.cpp
*作    者:张旺华
*完成日期:2014年11月10日
*版 本 号:v1.0
*
*问题描述:求sin(π/2)和sin(56° )的值精度要求达到小数点后6位;
*输入描述:无
*程序输出:sin(π/2)和sin(56° )的值
*/
#include <iostream>
using namespace std;
double mysin(double);
double myabs(double);
const double pi = 3.1415926;
int main()
{
	cout << "sin(π/2)的值为" << mysin(pi / 2) << endl;
	cout << "sin(56° )的值为" << mysin(pi * 2 * 56 / 360) << endl;
	return 0;
}

double mysin(double x)
{
	double sum = x, fact = x, n;
	int i = 1, s = 1, m = 1;
	do
	{
		m = m * (i + 1) * (i + 2);
		fact=fact*x*x;
		n = fact / m;
		s = -s;
		sum = sum + s * n;
		 i+=2;
	}
	while (myabs(n) > 1e-5);
	return sum;
}

double myabs(double c)
{
	if (c < 0)
		c = -c;
	else
		c = c;
	return c;
}

运行结果:

学习心得及知识点运用:终于出来了,我发现就目前为止就这个效率最高。大家要多多注意效率哦。不要让电脑跑了十几秒才出结果哦

时间: 2024-10-26 03:01:09

第十一周项目7 泰勒 求解的相关文章

第十一周项目1

#include <iostream> using namespace std; class Stu { public: Stu (int n,string nam); void display(); protected: int num; //学号 string name; //姓名 }; Stu::Stu(int n,string nam ) { num=n; name=nam; } void Stu::display() { cout<<"学号:"<

十一周 项目三 点类

#include<iostream> #include<Cmath> using namespace std; class Point //定义坐标点类 { public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0),y(y0){}; void PrintPoint(); //输出点的信息 double getx() { return x; } double gety() { return y; } protect

十一周 项目2 职员有薪水了 扩展

#include <iostream> #include <cstring> using namespace std; class CPerson { protected: char *m_szName; char *m_szId; int m_nSex;//0:women,1:man int m_nAge; public: CPerson(char *name,char *id,int sex,int age); void Show1(); ~CPerson(); }; CPer

十一周 项目2 职员有薪水了

#include <iostream> using namespace std; class CPerson { protected: string m_szName; string m_szId; int m_nSex;//0:women,1:man int m_nAge; public: CPerson(string name,string id,int sex,int age); void Show1(); ~CPerson(); }; CPerson::CPerson(string n

十一周 项目4 类族的设计

#include <iostream> #include <cmath> using namespace std; class Point { public: Point(double x=0,double y=0); void setPoint(double,double); double getx() { return x; } double gety() { return y; } void display(); protected: double x,y; }; class

十一周 项目4 类族的设计 完整版

#include <iostream> #include <cmath> using namespace std; class Point { public: Point(double x=0,double y=0); void setPoint(double,double); double getx() { return x; } double gety() { return y; } void display(); protected: double x,y; }; Point

第十一周 项目四 类族的设计】

项目4 - 类族的设计] 按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积.体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试: (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试: (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类

第十一周 项目3 - 点类派生直线类】定义点类Point,并以点类为基类,继承关系

项目3 - 点类派生直线类]定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点.请阅读下面的代码,并将缺少的部分写出来. [cpp] view plaincopyprint? #include<iostream> #include<Cmath> using namespace std; class Point //定义坐标点类 { public: Point():x(0),y(0) {}; Point(double x0, double 

第十一周 项目四

[项目4 - 类族的设计] 按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积.体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年5月31日 *版 本 号:v1.0 */ #inclu