标题:这里为什么用double不用int
只看楼主
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
结帖率:100%
已结贴  问题点数:10 回复次数:3 
这里为什么用double不用int
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:
20
输出样例:
32.66

int main()
{
 double a=1,b=1;
 double Sn=0;
 int i,N;
 scanf("%d",&N);
 for(i=0;i<N;i++)
 {
 a=a+b;
 b=a-b;
 Sn+=a*1.0/b;
 }
 printf("%.2lf\n",Sn);
 return 0;
 }
如果把a,b换成int就是错的,为什么呢?ab不都是整数吗
搜索更多相关主题的帖子: 输入 int double 计算 输出 
2019-11-25 14:18
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
如果把a,b换成int就是错的,为什么呢?
其他不看,仅这一句话,肯定是因为 溢出 嘛
2019-11-25 14:44
万致远醉帥
Rank: 2
等 级:论坛游民
威 望:1
帖 子:88
专家分:35
注 册:2020-3-24
得分:0 
回复 2楼 rjsp
+1,int是到2的31次方-1。

我们遇到什么困难,也不要怕,微笑着面对他,消除恐惧的最好方法就是面对恐惧。
2020-03-24 14:21
maomao12345
Rank: 2
来 自:五位神奇空间
等 级:禁止访问
威 望:2
帖 子:127
专家分:64
注 册:2020-3-23
得分:0 
c++好像是可以的

一个快乐的小小孩
2020-03-24 17:48



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




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

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