标题:请帮我找碴碴:
只看楼主
lgp311
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-29
 问题点数:0 回复次数:1 
请帮我找碴碴:
fun的功能是:计算级数的前N项之和,直到下一项大于q, q的值通过形参传入.S=2/1+3/2+4/3/+..+(n+1)/n
若q=50.0,则函数的值为50.4115587
#include <conio.h>
#include <stdio.h>
double  fun( double q )
{ int n; double  s;
  n = 2;
/************found************/
  s = 2.0
  while (s<=q)
  {
/************found************/
    s=s+ (n+1)/n;
    n++;
  }
  printf("n=%d\n",n);
  return s;
}
main ( )
{  clrscr( );
   printf("%f\n", fun(50));
}
搜索更多相关主题的帖子: include double return 
2004-09-13 16:10
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
得分:0 

问题在于n

你定义为整形,那在进行(n+1)/n运算的运算的饿时候那它会进行整形的运算,当n为偶数时候就会出错了。

把n定义为实型可以解决问题


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-09-13 17:25



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




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

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