第十二周项目2-太乐了

  1. /* 
  2.  * Copyright (c) 2013, 烟台大学计算机学院 
  3.  * All rights reserved. 
  4.  * 作    者:王英华
  5.  * 完成日期:2013 年 11 月 14日 
  6.  * 版 本 号:v1.0 
  7.  * 问题描述:用in和cos的泰勒展开式编程序,求出下面四个式子的值,当最后一项的绝对值小于0.00001时,累加结束。 
  8.  * 问题分析:要求自定义四个函数,分别是mysin,mycos,myabs,fac求sin的泰勒展开式,cos的泰勒展开式,最后一项的绝对值和分母的绝对值。 
  9. #include <iostream>
    #include<cmath>
    using namespace std;
    const double pi=3.1415926;
    double mysin(double);
    double mycos(double);
    double myabs(double);
    int fac(int);
    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;
    }
    
    int fac(int l)
    {
    	int i;
        int sum=1;
    	
    	if(l==0)
    	{
    		sum=1;
    	}
    	else
    	{
            for(i=1;  i<=l; i++)
    		{
    			sum*=i;
    		}
    	}
    	
    	return sum;
    }
    
    
    double mysin(double n)
    {
        int     i;
    	int     k=1;
    	double  sum=0;
    	
    	for(i=1; pow(n,i)/ fac(i)>0.000001; i+=2)
    	{
    		sum+=pow(n,i)/ fac(i)* k;
    		k=-1* k;
    	}
    	return sum;
    }
    
    double mycos(double m)
    {
        int     i;
    	int     k=1;
    	double  sum=0;
    	
    	for(i=0; pow(m,i)/ fac(i)>0.000001; i+=2)
    	{
    		sum+=pow(m,i)/ fac(i)* k;
    		k=-1* k;
    	}
    	
    	return sum;
    }
    

    运行结果:第十二周项目2-太乐了_第1张图片

 

你可能感兴趣的:(第十二周项目2-太乐了)