标题:帮帮忙啊!键盘输入x,利用级数求sin(x)的近似值,我的程序运行一直不对
只看楼主
°詠恆┈℡
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2009-10-9
结帖率:50%
已结贴  问题点数:10 回复次数:1 
帮帮忙啊!键盘输入x,利用级数求sin(x)的近似值,我的程序运行一直不对

键盘输入x,利用下面级数求sin(x)的近似值。要求最后一项的绝对值小于10的-6次方。
  
     

#include<stdio.h>
#include<math.h>
void main()
{
    float x,y,s,m;long i,n,t;
    i=t=n=1;y=0;
    printf("请输入x\n");
    scanf("%f",&x);
    m=s=x;
    while(fabs(m)>=1e-6)
    {   
        y+=m;
        s*=x*x;
        n=-n;i+=2;
        t*=n*(n-1);
        m=s*n/t;
    }
    printf("sin(x)=%f\n",y);
}
程序运行一直不对,为什么呀?
搜索更多相关主题的帖子: 键盘 sin 近似值 级数 
2009-10-31 16:29
tdy1006
Rank: 4
等 级:业余侠客
帖 子:173
专家分:240
注 册:2009-5-13
得分:10 
while(fabs(m)>=1e-6)
    {   
         y=y+m;
        s=s*(x*x);
        n=-n;i+=2;
        t=t*(i-1)*i;
        m=s*n/t;
    }


t*=(n-1)*n;//这句错了
代码是给人看的,最好不要简写……也不少那点时间

[ 本帖最后由 tdy1006 于 2009-10-31 17:52 编辑 ]
2009-10-31 17:50



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




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

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