解题思路:
观察数列可知其规律,从第二项开始,分子是前一项的分子和分母数字之和,分母的大小是前一项分子。
将分子定义为up,分母定义为down,在循环次数为n的for循环里,要做两件事:
第一,把up/down的值加进sum;第二,改变up和down的值为下一次循环做准备。
第一件事不难,但第二件里值得注意的是up改变为up+down之后,down的值不能直接用up赋予,因为此时up已经不是原来那个up了。我们需要引入另一个变量来存放原来的up,它就是a。首先让a存放up原先的值,再改变up,最后再将a的值赋给down,这样就能达到目的了。
注意事项:
1. 改变分子之后,要想正确地改变分母,需要另一个变量帮忙。
2. for循环中,可以将第一项的up和down写在初始值处,也可以写在for循环之前,这样不会影响循环体内up和down的改变。
参考代码:
#include <stdio.h> int main(){ int n,up,down,a,i; double sum; scanf("%d",&n); for(i=1,down=1,up=2;i<=n;i++) { sum += 1.0*up/down; a = up; up = up + down; down = a; } printf("%.2lf",sum); return 0; }
0.0分
23 人评分