#include
int main()
{
int a=3;
int b=2;
double sum=(double)3/(double)2;
for(int i=1;i<20;i++)
{
int a1=a;
int b1=b;
sum+=(double)(a1-b1)/(double)(a1+b1);
a=a1-b1;
b=a1+b1;
}
printf("%f\n",sum);
return 0;
}
你的问题
1:没有将数据转成浮点 使小数部分丢失
2:t=t+m/n;
m=m-n;
n=m+n; //此时的m已经在上句修改了