C语言重来30:例题赏析第二部分——求前n项和

文章提供了一个C语言程序,用于计算序列2/1+3/2+5/3+8/5+...的前n项和。程序中使用double类型处理分子和分母以避免整数上界问题,但即使如此,当n值过大时,仍可能出现超出双精度浮点数范围的情况,导致结果无效。程序通过循环结构计算序列和,并保留结果至小数点后两位。
摘要由CSDN通过智能技术生成

首先我们来看一下题目,这个题目相对于其他的求和较为难一点:

计算的序列为2/1+3/2+5/3+8/5+.....的前n项的和。
注意的几点是:从序列的第二项起,每一项的分子是前一项分子和分母的和,而分母是前一项的分子。
输入格式:输入一个在一行中给出一个正整数N。
输出格式:在一行中输出部分和的值,精确到小数点后两位,题目保证计算结果不超过双精度范围。

在代码中具体看一下:

同时注意,当分子分母定义为整数的时候,当我们的n取值为100的时候,就不能进行运算了

但是,当我们变成double的时候,也是有上界的,输入2000的时候已经成为无效的浮点数了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值