练习2-15 求简单交错序列前N项和 (15 分)

该程序计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项和,采用C语言编写。通过设置变量flag来改变每项的正负号,确保交错相加。输入一个正整数N,输出精确到小数点后三位的部分和。
摘要由CSDN通过智能技术生成

本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

输入格式:

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

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。

输入样例:

10

结尾无空行

输出样例:

sum = 0.819

结尾无空行


1(第一项) - 1/4(第二项) + 1/7(第三项) - 1/10(第四项) + ...  

       因为题目中的每一项都是加减交错相加,所以我们需要设置一个变量,让这个变量在每次循环当中去改变我们所求每一项的正负号。

       我在这里设置了一个flag,flag原先我赋予它的初始值为1,当for循环进行运行的时候,我又赋予flag等于-fkag(原理:for循环第一次运行的时候,sum+item已经完成了我们计算结果的第一项,所以下一步falg=-flag也就是让flag=-1,最后一步的这个(item = flag*1.0/分母)这里的flag为负,所以这里的item为负,为下一次循环变了正负号)(当for循环进行到第二次的时候,上一次的item为负,所以这里计算得到的第二项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值