免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1532 | 回复: 4
打印 上一主题 下一主题

[C++] 急!关于++的一个小程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-16 23:24 |只看该作者 |倒序浏览
/
各位大虾 !小弟做了个关于sin的函数 按照书上sin(x)=(x/1!)-x*x*x/3!+x*x*x*x*x/5!+......要求每一项的精度应该在0.000001以上。 该程序哪里有毛病啊?摆脱了各位!
#include<iostream>
using namespace std;
double si(double x)
{
  double e,sum=0.0;
  int i=1;
  int p=1;
  double sq=x*x;
   e=x;
   double f=1.0;
  while(f>0.000001)
          {  int j=i;
             while(j)
         {
           p*=j;
               j--;
              }
         
                 f=e/p;
                 if(f>0.000001)
                 {
                 cout<<"i="<<i<<endl;
                 cout<<"e="<<e<<endl;
         cout<<"p="<<p<<endl;
                 cout<<"f="<<f<<endl;

                 sum=(i%4==1)?sum+f:sum-f;
                 i+=2;
                 e=e*sq;
                 cout<<"sum="<<sum<<endl;
                  p=1;
          }
                 else
                 {
                         f=-1.0;
                  
                 }
           }
               

          return (sum);
         
}

int main()
{
  cout<<"si(5.0)="<<si(5.0)<<endl;
}

论坛徽章:
0
2 [报告]
发表于 2009-01-16 23:38 |只看该作者

自顶

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
3 [报告]
发表于 2009-01-16 23:46 |只看该作者
还以为是说自增的那个“++”呢

请用[code][/code]排版下代码,方便别人看代码

论坛徽章:
1
午马
日期:2013-08-23 23:39:47
4 [报告]
发表于 2009-01-17 00:01 |只看该作者
看看sin(x)=(x/1!)-x*x*x/3!+x*x*x*x*x/5!+...... 中x的适用范围是什么,也许0到圆周率之间呢
要么就是代码太乱的问题

论坛徽章:
0
5 [报告]
发表于 2009-01-17 00:22 |只看该作者
浮点数的比较这样能行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP