解题思路:这道题首先发现规律,首项是2/1,第二项3/2,第三项是5/3,由此我们可以发现下一项的分母是前一项的分子,而分子则是前一项的分子加分母。由此,规律找到,接下来难点在于怎么让分子和分母自己完成操作,我们要借助第三者来帮我们完成。因为,如果你直接写d=c,c=c+d,那么你的d已经不是前一项的分母了,而是分子,相当于对c进行二次累加。



注意事项:变量的申明,要申明为float或者double形的,因为整数直接应用除法会去除小数部分,然后再转化成小数类型的。

参考代码:

#include <stdio.h> 

int main()

{

       int a, i;                                                             //申明两个变量

       float sum=0, c = 2.0, d = 1.0,b,e;                   //申明sum,记得赋初始值,否则会报错,b,c,d,e的申明,e用来周转数字

       scanf("%d",&a);                                              //输入项数

       for (i = 0; i < a; i++) {                                     //循环开始

       b = c / d;                                                        //初始b=2.0/1.0,经过下面程序运行完成新的赋值

       sum+=b;                                                         //完成前i项的累加

       if (i < a) {                                                         //置换分子分母的判断结构

           e = d;                                                          //先将分母拿出来,此时e为前一项的分母

           d = c;                                                          //此时下一项的分母替换为前一项的分子

           c = d + e;                                                    //完成对分子的加法

        }

}

       printf("%.2f\n", sum);                                      //输出sum,别忘了两位小数

       return 0;

}


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论