解题思路:首先声明一下,纯属是为了练习递归才这么写的,当时的第一想法是这与斐波那契数列类似,所以就想到用递归,分子分母从第三项开始就等于前两项的和,则fbnq(i)=fbnq2(i-1)+fbnq2(i-2)
注意事项:
遇到除法要考虑数据类型
参考代码:
#include<stdio.h>
#include<math.h>
double fbnq1(double i);
double fbnq2(double i);
int main()
{
int n;
scanf("%d",&n);
double sum=0;
for(int i=1;i<=n;i++)
{
double shang=fbnq1(i)/fbnq2(i);
sum+=shang;
}
printf("%.2lf",sum);
return 0;
}
double fbnq1(double i)
{
if(i==1) return 2.0;
else
if(i==2) return 3.0;
else
return fbnq1(i-1)+fbnq1(i-2);
}
double fbnq2(double i)
{
if(i==1) return 1.0;
else
if(i==2) return 2.0;
else
return fbnq2(i-1)+fbnq2(i-2);
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:716 |
sizeof的大作用 (C语言代码)浏览:1593 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1108 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:620 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:559 |
汽水瓶 (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:615 |
P1002 (C++代码)浏览:794 |
【出圈】 (C语言代码)浏览:1025 |