标签:
一.问题及代码
/* * 文件名称:Ex2-2.cpp * 作 者:卢欢 * 完成日期:2016 年 5月 6日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: 使用c++编写sin与cos函数; * 输入描述:无 * 问题描述:使用c++编写sin与cos函数; * 程序输出:输出特定数的函数值 * 问题分析: * 算法设计:麦克劳林展开式中涉及多个函数,逐个编写; */ #include<iostream.h> const double pi=3.1415926; double f(int a); double mypow(double x,int y); double myabs(double a); double mysin(double x); double mycos(double x); int main() { cout<<"f(5)="<<f(5)<<endl; cout<<"mypow(3.0,4)="<<mypow(3.0,4)<<endl; 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 f(int a) { double s=1; for(int i=1;i<=a;i++) { s*=i; } return s; } double mypow(double x,int y) { double s=1; for(int i=0;i<y;i++) s*=x; return s; } double myabs(double a) { if(a>=0) return a; else return -1*a; } double mysin(double x) { double sin=0; for(int i=1;i<=20;i++) { sin+=mypow(x,2*i-1)*mypow(-1,1+i)/f(2*i-1); } return sin; } double mycos(double x) { double cos=0; for(int i=0;i<=20;i++) { cos+=mypow(x,2*i)*mypow(-1,i)/f(2*i); } return cos; }
三.心得体会
四.知识点总结
标签:
原文地址:http://blog.csdn.net/lhdoufu/article/details/51329433