第十二周项目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;
      }
      

      运行结果:

     

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 1
      评论
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值