解题思路:
根据算式:知道后一项的分子等一前一项分子加分母;

后一项的分母为前一项的分子;


注意事项:


参考代码:

#include<stdio.h>
int main()
{
   long double n=2,m=1,N,t,sum=0.00;
   scanf("%Lf",&N);

    while(N)
    {
      sum=sum+n/m;

      t=m;
      m=n;
      n=n+t;
     N--;
    }
printf("%.2Lf",sum);
return 0;
}


点赞(52)
 

0.0分

43 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 52 条评论

TTSV 4年前 回复TA
#include<stdio.h>
int main()
{
	float a=2,b=1,n,key=0,c;
	scanf("%f",&n);
	while (n>0)
	{
		key = key + a/b;
		c = a;
		a = a + b;
		b = c;
		n = n - 1;
	}
	printf("%.2f", key);
	return 0;
}
菜园啊 4年前 回复TA
@Meixi.oO 精度不够,a,b用浮点型定义试试
C语言云玩家 4年前 回复TA
没想到什么骚操作,直接用函数递归搞的,居然过了,菜鸡瑟瑟发抖.......
V 4年前 回复TA
@雷步云 没初始化Sn
Meixi.oO 4年前 回复TA
大神帮忙看看,为什么结果是11.00?
#include<stdio.h>
int main(){
	int n=10,i,a=2,b=1,t;
	double sum=0.00;
	//scanf("%d",&n);
	for(i=1;i<=n;i++){
		sum=sum+a/b;
		t=a;
		a=a+b;
		b=t;
	}	
	printf("%.2lf",sum);
	return 0;
}
unomti 4年前 回复TA
@mukee i没重复定义吗?
mukee 5年前 回复TA
#include<stdio.h>
int main()
{
	double a,s,m=1,n=1,t;
	int i,N;
	scanf("%d",&N);
	for(int i=0;i<N;i++){
	    t=m;
	    m=m+n;
	    n=t;
	    a=m/n;
	    s+=a;
	}
	printf("%.2lf",s);
}
防冷涂的蜡 5年前 回复TA
@smy19 scanf("%lf",&n);
smy19 5年前 回复TA
#include<stdio.h>
int main()
{
	double t=0.0,a,b=1,c=1,n,i=1;
	scanf("%f",&n);
	while(i<=n) {
	   a=b;
	   b=c;
	   c=a+b;
	   t=c/b+t;
	   i=i+1;
	}
	printf("%.2lf",t);
	return 0;
 } 
请问一下这个为什么运行时没结果?
墨魍 5年前 回复TA
@墨魍 能请教一下我用数组进行运算的方法为什么不对吗?