这题如何用C语言解决
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
/*
数列前20项的和
2/1,3/2,5/3,8/5,13/8,21/13....
a=1,b=2;
a1=2,b1=3;
a=a+a1=3;
b=b+b1=5;
--------------------------
a1=2,b1=3;
a =3,b =5;
---------
a跟a1交换
b跟b1交换
a=2,b=3;
a1=3,b1=5;
*/
int i;
double a,a1,b,b1,a2,b2,sum=0;
//b/a,b1/a1
a=1,b=2; //第一项:2/1 a=1,b=2;
a1=2;b1=3; //第二项:3/2 a=2,b=3;
//第三项:5/3 a1=3,b1=5;
//第四项:8/5 a =5, b=8
sum = b/a+b1/a1;//前2项的值
//从第3项开始计算
for(i=2;i<20;i++)
{
a=a+a1; //3
b=b+b1; //5
sum+= b/a;
printf("%0.0lf/%0.0lf+",b,a);
a2=a; //a2是临时变量
a=a1;
a1=a2;
b2=b; //b2是临时变量
b=b1;
b1=b2;
}
printf("=%0.2lf",sum);
}
请采纳,谢谢
分子和分母满足第三项=前两项的和这样的规律,只不过分子是从2开始,分母是从1开始,可以写两个迭代,分别计算分子和分母,在主程序中遍历
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html