菜鸟求教
编程实现有一分数序列2/1,3/2,5/3,8/5,13/8,21/13....
即:后一项的分母为前一项的分子,后项的分子为前一项的分子与分母之和),求该数列的前20项之和
我写的程序如下
程序代码:#include "stdio.h"
void main()
{int a=1,b=2,t,i;
float sum=0;
for(i=1;i<=20;i++)
{
sum=sum+b/a;
t=b;
b=a+b;
a=t;
}
printf("%f",sum);
}发现运算结果与答案不符,答案如下
程序代码:#include "stdio.h"
void main()
{int t,i;
float a=1,b=2,sum=0;
for(i=1;i<=20;i++)
{
sum=sum+b/a;
t=b;
b=a+b;
a=t;
}
printf("%f",sum);
}我定义的a,b为整型,而答案定义的是浮点型,请问为什么会影响结果?PS:刚刚起步学习C语言,请指教。









