吕栋oc


私信TA

用户名:dotcpp0595780

访问量:380

签 名:

等  级
排  名 16204
经  验 769
参赛次数 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区