浙大版《C语言程序设计(第3版)》题目集 - 习题5-7 使用函数求余弦函数的近似值(15 分)

题目链接:点击打开链接

 

题目大意:略,有一个很奇怪的问题:只因把 down 变量放在 int 里就第二个点无法通过,不知为何?经验证,long long 对 down 都不行,发现 double 其实比 long long 范围还要大。

 

解题思路:略。

 

AC 代码

double funcos( double e, double x )
{
  double val=1, sum=1, up=1, down=1;
  int a=1, i=0;

  while(e<=val)
  {
    i+=2, a=-a;
    up*=x*x;
    down*=i*(i-1);
    val = up/down;
    sum+=a*val;
  }

  return sum;
}

 

未 AC 代码

double funcos( double e, double x )
{
  double val=1, sum=1, up=1;
  int a=1, down=1, i=0;

  while(e<=val)
  {
    i+=2, a=-a;
    up*=x*x;
    down*=i*(i-1);
    val = up/down;
    sum+=a*val;
  }

  return sum;
}

 

你可能感兴趣的:(#,ACM,#,PTA)