解题思路:将分子分母分开观察不难发现,两者都是按照斐波那契数列的规律排列的,也就是当前项的值等于前两项的和,因此我们可以分别获取分子和分母的值以后,再相除得到当前项的值,然后将各个项累加即可得到答案
注意事项:注意事项主要看代码的注释就行了
参考代码:
#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 人评分
人民币问题 (C语言代码)浏览:720 |
人见人爱A+B (C语言代码)浏览:1046 |
C语言训练-阿姆斯特朗数 (C语言代码)浏览:897 |
C二级辅导-计负均正 (C语言代码)浏览:652 |
字符串输入输出函数 (Java代码)浏览:1498 |
printf基础练习2 (C语言代码)浏览:605 |
数列排序 (C语言代码)浏览:858 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:443 |
多输入输出练习1 (C语言代码)浏览:1219 |
printf基础练习2 (C语言代码)浏览:955 |