[原创]求救
-
有一分数序列:2/1,3/2,5/3,8/5……求出这个数列的前20项之和。
#include "stdio.h" main() { int i,temp; float f1=1,f2=2,sum=0; for(i=1;i<=20;i++) { sum=sum+f2/f1; temp=f2; f2=f1+f2; f1=temp; } printf("The sum is %10.6f\n",sum) ; }
#include "stdio.h" main() { int i,temp; float f1=1,f2=2,sum=0; for(i=1;i<=20;i++) { sum=sum+f2/f1; temp=f2; f2=f1+f2; f1=temp; } printf("The sum is %10.6f\n",sum) ; }
第一个程序的输出结果是:32.660259
第二程序的输出结果是:21.00000
里面只有这个不同:第一个程序是定义 f1,f2为float型,而第二个程序定义f1,f2为int 型。
为什么输出结果就不同了呢?
[此贴子已经被作者于2005-9-11 10:03:14编辑过]
----------------解决方案--------------------------------------------------------
????怎么你发的一样啊
估计知道了你的意思了
当是f1,f2是int 时, f1/f2 得到的结果是int,
你可以把f1是int,f2是float,这样结果是 float
float与int做计算,结果是float
----------------解决方案--------------------------------------------------------
呵呵。对不起啊。发错了。谢谢你的提醒。我知道哪里错了
----------------解决方案--------------------------------------------------------