| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 318 人关注过本帖
标题:新手,求指导。输出的数据有错误。
只看楼主 加入收藏
firmthinking
Rank: 3Rank: 3
来 自:西南交通大学
等 级:论坛游侠
帖 子:43
专家分:115
注 册:2012-12-9
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
新手,求指导。输出的数据有错误。
输入x的值,计算sinx=x-x^3/3!+x^5/5!-x^7/7!+……,要求最后一项绝对值小于10的负六次方。
下面有两个程序。上面一个输出的数据有错误。下面一个是我用另一种方法做的,应该没问题。
程序代码:
#include<stdio.h>
#include<math.h>
int main()
  {
    float x,sinx=0;
    int i=0;
    long lc(int i);
    printf("enter x:");
    scanf("%f",&x);
    for(i=0;(pow(x,(2*i+1))/lc(i))>=1e-6;i++)
      sinx+=pow((-1),i)*pow(x,(2*i+1))/lc(i);
    printf("%d\n",i);
    printf("%ld\n",lc(i));
    printf("%f\n",sinx);
    return 0;
  }
long lc(int i)
  {
    int j=1,n=1;
    for(j=1;j<=(2*i+1);j++)
    n*=j;
    return n;
  }
请大家帮帮忙,看看上面那个问题在哪里。谢谢哈。



#include<stdio.h>
#include<math.h>
int main()
{
  float s,x,r;
  int k=1;
  printf("x=");
  scanf("%f",&x);
  r=s=x;
  while(s>=1e-6)
  {
    s=s*x*x/(2*k*(2*k+1));
    k++;
    r=r+s*pow(-1,k-1);
  }
  printf("sinx=%f\n",r);
  return 0;
}


[ 本帖最后由 firmthinking 于 2012-12-26 19:58 编辑 ]
搜索更多相关主题的帖子: 绝对值 
2012-12-26 19:53
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:20 
我猜可不可能是数据溢出的问题啊,上面的函数定义中,n定义为int型,会不会有溢出啊

我了个去的编程!
2012-12-26 20:45
firmthinking
Rank: 3Rank: 3
来 自:西南交通大学
等 级:论坛游侠
帖 子:43
专家分:115
注 册:2012-12-9
收藏
得分:0 
这个方程不用递归的话,是有点儿复杂。请问有谁有兴趣帮我检查一下么?
编译也没有错误可是lc(i)为什么会返回负数呢?想不通。
图片附件: 游客没有浏览图片的权限,请 登录注册
2012-12-26 20:52
firmthinking
Rank: 3Rank: 3
来 自:西南交通大学
等 级:论坛游侠
帖 子:43
专家分:115
注 册:2012-12-9
收藏
得分:0 
以下是引用wkz2012在2012-12-26 20:45:04的发言:

我猜可不可能是数据溢出的问题啊,上面的函数定义中,n定义为int型,会不会有溢出啊
真的给你说对了,现在没问题了。谢谢哈。
图片附件: 游客没有浏览图片的权限,请 登录注册
2012-12-26 21:00
firmthinking
Rank: 3Rank: 3
来 自:西南交通大学
等 级:论坛游侠
帖 子:43
专家分:115
注 册:2012-12-9
收藏
得分:0 
回复 2楼 wkz2012
哦哦,顺便问一句哈,你也是交大的吗?
2012-12-26 21:02
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
回复 4楼 firmthinking
不客气,咱们可是校友啊

我了个去的编程!
2012-12-26 21:02
快速回复:新手,求指导。输出的数据有错误。
数据加载中...
 
   



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

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