原题链接:[编程入门]有规律的数列求和
解题思路:
根据算式:知道后一项的分子等一前一项分子加分母;
后一项的分母为前一项的分子;
注意事项:
参考代码:
#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;
}0.0分
43 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int main() { int N,n=2,m=1,t; double sum=0.00; scanf("%d",&N); while(N--) { sum=sum+n/m; t=m; m=n; n=n+t;; } printf("%.2lf",sum); return 0; } 为什么m,n是int,答案不对?#include <stdio.h> int fun(int n); int main(void) { int n; scanf("%d", &n); fun(n); return 0; } int fun(int n) { float z=2, m=1, i=0, t=0, sum=0.00;//z分子、m分母 while(n)//这样写可以从0开始循环 { t=m; m=z; z+=t; sum+=(z/m); n--; } printf("%.2lf", sum); }输入10,也得16.48。但提交显示答案错误。有哪位高手知道,是哪里出错了吗?#include <stdio.h> int main(void) { double a=2.0,b=1.0; double c=0.0; int N; scanf("%d",&N); double sum=0.00; for(int i=1;i<=N;i++) { sum+=a/b; c=a; a=a+b; b=c; } printf("%.2lf",sum); return 0; } 又是一波常规操作#include <stdio.h> int main() { int n; scanf("%d",&n); double a=2,b=1; int i; double t,sum=0; for( i=1;i<=n;i++ ){ sum += a/b; t = b; b = a; a = a+t; } printf("%.2f",sum); return 0; }