| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 995 人关注过本帖
标题: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
快速回复:sin(x) 程式问题
数据加载中...
 
   



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

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