解题思路:

先观察序列发现:第1项分数为2/1,第2项分数的分子为前一项的分子分母和,分母为前1项的分子,第3项和第2项也是如此关系,此后项以此类推……

,所以定义数组i,根据索引来取值运算

索引(index)0123……p
值(value)1235……i[p-1]+i[p-2]


注意事项:

1、需要提前根据题目设置好数组的初始值

int i[1000] = {1,2}    /1000是随便定义的数组大小,也可以在最前面直接 #define max 1000,此处的1000就可以写为max

2、要保留2位小数,所以在数组进行运算的时候要把结果转化成float

m=(float)i[p]/i[p-1];


参考代码:

#include <stdio.h>
int main()
{
    int i[1000]={1,2};
    int n;
    float m,s;
    scanf("%d",&n);
    for (int p=1;p<=n;p++)
    {
        i[p+1]=i[p]+i[p-1];
        m=(float)i[p]/i[p-1];
        s+=m;
    }
    printf("%0.2f",s);
    return 0;
}


点赞(0)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论