标题:sin(x) 程式问题
取消只看楼主
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
结帖率:41.67%
 问题点数:0 回复次数:1 
sin(x) 程式问题
我们都知道 sin(x)=x-(x^3/3!)+(x^5/5!)-(x^7/7!)+(x^9/9!)-......

现在我程式写了差不多了,但是中间这里隔一个加一次,隔一个减一次不知道如何做到,高手帮帮忙, 我的程式如下:

#include <iostream.h>
#include <stdlib.h>
#include <cmath>

int main()
{
      float i=1.0;
      double degree, aseries, aterm, denum=1.0, p_denum, num, x;

      cout<<"Input a number in degrees.\n";
      cin>>degree;

      x=degree*(3.14159/180.0);
      aseries=x;
      
      do
      {
         num=pow(x, i);
         p_denum=denum;
         denum=(p_denum*i);
         i=i+2.0;
         aterm=num/denum;
         [un][bo]aseries=aseries+aterm;[/bo][/un]      //这个地方怎么加一次,减一次
      
       }while (aterm>0.0001);         
      cout<<"for x equals "<<x<<", sin(x)="<<aseries<<endl;
      system("PAUSE");
      return 0;
}

[[it] 本帖最后由 suckdog 于 2008-3-25 09:42 编辑 [/it]]
搜索更多相关主题的帖子: sin 程式 
2008-03-25 09:39
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
得分:0 
#include <iostream.h>
#include <stdlib.h>
#include <cmath>

float sinx(float);

int main()
{
      float i=1.0;
      double degree, aseries, x;

      cout<<"Input a number in degrees.\n";
      cin>>degree;
      
      aseries=sinx(degree);

      cout<<"when degree="<<degree<<", sin(x)="<<aseries<<endl;
      system("PAUSE");
      return 0;
}

float sinx(float y)
{
    float i=1.0, sgn=1;
    double aseries, aterm, denum=1.0, p_denum, num, x;
   
    x=y*(3.14159/180.0);
    aseries=x;
    do
    {   
        sgn*=-1;   
        i=i+2.0;                        
        denum*=i*(i-1);               

        num=pow(x, i);
        aterm=num/denum;
        aseries=aseries+sgn*aterm;      
    }while (aterm>0.0001);  
      
    return aseries;
}

我从写了一遍, 基本运行可以了, 但是比方说我算90度, sin(x)=1, 我想要
sin(x)=0.999999683, 谁可以在里面加点东西让他变精确点阿
2008-03-29 14:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205187-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.230617 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved