2/1+3/2+5/3+8/5+...这个数列每项的分子、分母分别是Fibonacci数列的后一项与前一项。求这一数列前N项的和可采取N由键盘输入,设一循环按Fibonacci数列规律求出分子与分母,将将分式转换为浮点除法求值累加获得最后结果。举例代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int a,b,i,N;
double s;
printf("Input N(int 0<N<44)...\nN=");//大于43时int范围溢出
if(scanf("%d",&N)!=1 || N<1 || N>43){//保证输入正确
printf("Input error, exit...\n");
return 0;
}
for(s=0.0,a=2,b=i=1;i<=N;i++){//由此循环计算
s+=a/(b+0.0);//当前项累加给s
a+=b;//下一项的分子是当前项分子分母之和
b=a-b;//下一项分母是当前项分子
}
printf("The result are %.2f (when N=%d)\n",s,N);
return 0;
}
试运行结果如下图:
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/dbb44aed2e738bd4de581d8cab8b87d6277ff916?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)