| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:求一下这个求前20项之和哪里出错了?
只看楼主 加入收藏
jiayuxi111
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-12-2
收藏
 问题点数:0 回复次数:5 
求一下这个求前20项之和哪里出错了?
void main()
{int a,b,n,t;
float s;
s=0.;
a=2;
b=1;
for(n=1;n<21;n++)
{s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf("the result is %f\n",s);
}




/*求2/1,3/2,5/3...   的前20项之和的,我想了半个小时才想出来的,可是输出就21.00000,请问哪里出错了,谢谢*/
搜索更多相关主题的帖子: 之和 
2008-12-11 13:48
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
因为除了2/1=2以外,3/2,5/3等各项都等于1

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2008-12-11 14:07
longxigen
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-11
收藏
得分:0 
错误之处在于:你把a,b,t都定义为整型了,整型与整型之间的除法运算结果还是整型。即3/2=1,5/3=1,8/5=1……
修改:把a,b,t都定义为浮点型就可以了。
2008-12-11 14:40
Flybee1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-12-11
收藏
得分:0 
# include "stdio.h"

void main()
{int a,b,n,t;
float s;
s=0;
a=2;
b=1;
for(n=1;n<21;n++)
{s=s+(float)a/b;
t=a;
a=a+b;
b=t;
}
printf("the result is %f\n",s);

getch();
}
只要在a/b前面加个强制类型转换就好啦。呵呵o(∩_∩)o...
2008-12-11 14:46
zhengandchen
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-12-9
收藏
得分:0 
同意3楼的说法  我跟3楼的一样的想法
2008-12-11 14:53
jiayuxi111
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-12-2
收藏
得分:0 
谢谢大虾们了
2008-12-11 15:10
快速回复:求一下这个求前20项之和哪里出错了?
数据加载中...
 
   



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

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