请教数据类型方面的问题
有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13....(即:该数列从第二项开始,其分子是前一项的分子与分母之和,而其分母是前一项的分子),求出这个序列前56项的和。要求:按四舍五入的方式精确到小数点后第三位#include"stdio.h"
#include"math.h"
main()
{
int a,b,c,i;
double sum=0;
a=1;
b=2;
for(i=1;i<=56;i++)
{
sum=sum+1.0*b/a;
c=a+b;
a=b;
b=c;
}
printf("%.3lf",sum);
getchar();
}
#include"stdio.h"
#include"math.h"
main()
{
int i;
double a,b,c,sum=0;
a=1;
b=2;
for(i=1;i<=56;i++)
{
sum=sum+1.0*b/a;
c=a+b;
a=b;
b=c;
}
printf("%.3lf",sum);
getchar();
}
为什么a,b,c定义为int型与定义成double 型的结果不同,请指教!