c++ 一个很简单的程序的设计问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 05:07:21
一数列 2/1,3/2,5/3,8/5 …………(参考斐波那契)
前 二十项和 下面是我编的程序 好像有点问题 运行结果不对 帮我找一下问题所在 谢谢

#include<iostream>
using namespace std;
int main()
{
int f1=1,f2=2,i;
double sum=0,t;
for(i=1;i<=20;i++)
{
if(i%2!=0)
{t=f2/f1;
f1=f1+f2;
}
else
{t=f1/f2;
f2=f1+f2;
}
sum=sum+t;
}
cout<<sum<<endl;
return 0;
}

你的逻辑没有问题。。但是你的问题在int 类型相除的时候结果是取整的如:
int j=5,i=2,a;
a=j/i;
那么a是等于2的!!!明白吗!你全定义成double的就行了!