这两个c 程序运行结果为什么不同 我觉得是一样的啊 就是求一个分子分母都是斐波那契数列的和···分追加

[复制链接]
查看11 | 回复2 | 2011-11-4 12:52:28 | 显示全部楼层 |阅读模式
第一个是跟老师提供的答案完全一样的#includestdio.hmain(){floatx,i1,i2,j1,j2,n,r1,r2;x=0;i1=2.0;i2=3.0;j1=1.0;j2=2.0;r1=0.;r2=0.;for(n=1;n=20;n){x=i1/j1x;r1=i1;i1=i2;i2=r1i1;r2=j1;j1=j2;j2=r2j1;}printf(\"%f\",x);}第二个答案相差0.000003#includestdio.hmain(){floatx,i1,i2,j1,j2,n;x=0;i1=2.0;i2=3.0;j1=1.0;j2=2.0;for(n=1;n=10;n){x=i1/j1i2/j2x;i1=i1i2;i2=i2i1;j1=j2j1;j2=j2j1;}printf(\"%f\",x);}
回复

使用道具 举报

千问 | 2011-11-4 12:52:28 | 显示全部楼层
楼主的程序我只看看了,感觉应该是float在参与运算时为了提高精度被转换成了double型,所以在第二个方法中算式右边计算时是double型,赋值后变成float所以第二种方法更加精确……
回复

使用道具 举报

千问 | 2011-11-4 12:52:28 | 显示全部楼层
你的代码更你老师的不一样好不好!!!赞同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行