为了账号安全,请及时绑定邮箱和手机立即绑定

二级C语言填空题:题目计算以下分数序列前18项之和 2/1,3/2,5/3,8/5,13/8.......

二级C语言填空题:题目计算以下分数序列前18项之和 2/1,3/2,5/3,8/5,13/8.......

C
包小龙虾 2018-08-08 22:56:42
二级C语言填空题:题目计算以下分数序列前18项之和2/1,3/2,5/3,8/5,13/8.......#include <stdio.h>void main(){int i;float sum,a=2,b=1,t;/**/ /**/; sum=0;for (i=1;i<=18;i++){sum+=/**/ /**/;t=a/bt=a;a=a+b;b=/**/ /**/; t}printf("sum=%f\n",sum);getch();}/**/ /**/这个中间是填空的部分,右边是正确答案,而我觉得第二个应该是a/b,第三个应该是a-i,用我这答案也可以运行出来但是运行出来的答案跟题库所给的答案(也就是上面程序右边的正确答案)运行出来的值不一样,用我自己的答案笔试推算例子中前四项都符合就最后一项变成了13/9.。而用题库给的答案推算只有前两项符合例子给的式子,我不太理解为什么,求大神解析下,谢谢
查看完整描述

1 回答

?
Eric_温水之蛙

TA贡献8条经验 获得超3个赞

这题考的是斐波那契数列。数列从第3项开始,每一项都等于前两项之和。

分数的分子和分母使用的是斐波那契数列的数字。

分数的分子是上一项的分子和分母之和,分数的分母是上一项的分子。

根据这个算法,得到的计算公式是正确答案。

sum+=/**/ /**/;t=a/b

这句话为什么会有t?应该是

sum+=a/b


查看完整回答
反对 回复 2018-08-09
  • 1 回答
  • 0 关注
  • 792 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信