原题链接:[编程入门]有规律的数列求和
解题思路:
根据算式:知道后一项的分子等一前一项分子加分母;
后一项的分母为前一项的分子;
注意事项:
参考代码:
#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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
大神求解这题非sum的值对结果很重要吗 答案不对 #include"stdio.h" int main() { int m=1,n=2; long double sum=0.00; int i,t,N; scanf("%d",&N); for(i=0;i<N;i++) { sum+=n/m; t=n; m=t; n+=m; } printf("%.2lf",sum); return 0; }#include <stdio.h> int main() { /* 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。 */ /* 规律:前2个数为2/1和3/2 后面数的分母等于前2个数分母之和 后面数的分子等于前2个数分子之和 */ int n; double _sum=0.0; int i; scanf("%d",&n); double s[n]; double q[n]; double sum[n]; for(int i=0;i<n;i++){ s[i]=0.0; q[i]=0.0; sum[i]=0.0; } //将数组初始化 for(i=0;i<2;i++){ s[i]=i+2.0; q[i]=i+1.0; sum[i]=s[i]/q[i]; } //将2 1 3放进数组 s[0]=2 s[1]=3 q[0]=1 q[1]=2 for(i=2;i<n;i++){ s[i]=s[i-2]+s[i-1]; q[i]=q[i-2]+q[i-1]; sum[i]=s[i]/q[i]; } //将N项的分数全部放入数组sum[k]; for(i=0;i<#include<stdio.h> int main() { int n,i; double a=1,b=1,c=1,sum=0; scanf("%d",&i); for(n=1;n<=i;n++) { a=a+b; b=c; c=a; sum=sum+(a/b); } printf("%.2lf\n",sum); return 0; }