吕栋oc


私信TA

用户名:dotcpp0595780

访问量:442

签 名:

等  级
排  名 17227
经  验 775
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校 长江大学
专  业

  自我简介:

TA的其他文章

解题思路:将分子分母分开观察不难发现,两者都是按照斐波那契数列的规律排列的,也就是当前项的值等于前两项的和,因此我们可以分别获取分子和分母的值以后,再相除得到当前项的值,然后将各个项累加即可得到答案

注意事项:注意事项主要看代码的注释就行了

参考代码:

#include <stdio.h>


int main()

{

/*

a用来存放分子第n项的值,a1用来存放分子n-2项的值,a2用来存放分子a-1项的值。

b用来存放分母第n项的值,b1用来存放分母n-2项的值,b2用来存放分母a-1项的值。

*/

double sum=0,a,b,a1=2,a2=3,b1=1,b2=2,c;  

int i,n;

scanf("%d",&n);

if(n==1)

{

sum=2;

}

else if(n==2)

{

sum=2+3.0/2.0;   //这里用3.0除以2.0,而不直接用3除以2是因为2和3是整型常量,那计算结果也是整形,且结果为1.

}

else

{

for(i=3;i<=n;i++)  //这部分循环中对应的每一个变量的意义参考第一部分的注释自行体会

{

a=a1+a2;

b=b1+b2;

c=a/b;

sum=sum+c;

a1=a2;

a2=a;

b1=b2;

b2=b;

}

}

sum+=3.5;  //不难发现在for循环中,sum的结果仅仅是从第三项开始的,所以还要加上第一项和第二项的值

printf("%.2lf",sum);

   

    return 0;

}


 

0.0分

4 人评分

  评论区

  • «
  • »