c语言帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:14:19
5. 编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出该数列的前20项之和。

#include<stdio.h>
void main()
{
float f1,f2,f3,f4;
int i;
f1=0;
f2=1;
f4=0;
for(i=1;i<=20;i++)
{f1=f1+f2;
f2=f2+f1;
f3=f2/f1;
f4=f4+f3;
}
printf("f3=%f\n",f3);

}
为什么结果是1.6几,明显错了.

#include <stdio.h>
void main()
{
float x=1.0,y=2.0,z=2.0;
float s=0,t;
int i;
for(i=1;i<=20;i++)
{
s=s+z;
t=y;
y=x+y;
x=t;
z=y/x;
}
printf("%f\n",s);
}

main(){
float f1,f2,f3,f4,f5;
int i;
f1=0;
f2=1.0;
f3=1.0;
f5=0;
for(i=1;i<=20;i++) {
f2=f2+f1;
f3=f2+f3;
f4=f3/f2;
f5=f4+f5;
}
printf("f5=%f\n",f5);
}

f1=f1+f2;
f2=f2+f1;
f3=f2/f1;
f4=f4+f3;
这样不行,漏了好多数,你一个一个带进去看看就知道了

printf("f3=%f\n",f4);
就对了