解题思路:这道题首先发现规律,首项是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分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复