| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 736 人关注过本帖
标题:请帮我找碴碴:
只看楼主 加入收藏
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
快速回复:请帮我找碴碴:
数据加载中...
 
   



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

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