搜索
查看: 1151|回复: 10
打印 上一主题 下一主题

啊哈C30页练习第一题,编译出错,请指教!

[复制链接]
楼主
发表于 2014-3-9 18:38:43 | 显示全部楼层
rosynirvana 发表于 2014-3-9 16:22
printf("%f",g)少分号

除了少了个分号,还有一外隐藏错误,
代码:
    a=1.2;
    b=2.3;
    c=3.4;
    d=4.5;
的值都只有一位小数点,结果应该
保持一致,应该是:
printf("%.1f",g);
才是....
沙发
发表于 2014-3-9 22:30:41 | 显示全部楼层
rosynirvana 发表于 2014-3-9 21:10
对于这个程序来说,在数学上11.400000和11.4又没区别,所以没必要

真要说的话,保证精确的写法是

这是为了格式一致,而无非对错~~
参数  a=1.2;
         b=2.3;
         c=3.4;
         d=4.5;
你觉得   g=11.400000;  这种格式很美观????
真是可笑~还是说g比a,b,c,d四个值占的宽位多???
而g=11.400000就精确些

板凳
发表于 2014-3-9 23:33:15 | 显示全部楼层
本帖最后由 李掌柜 于 2014-3-10 00:09 编辑
rosynirvana 发表于 2014-3-9 23:17
看看你自己的回复
这是第一次回复

和你讨纶一点意思都木有~~
答案是有很多种的~~
观点不同解法也不同~~
代码是死的人是活的,,
你觉得这种级别的加减法会有浮点数陷阱??
掌柜的只能说:"呵呵"
你太死板了,没劲


额,对了,看你好像很精通的样子
麻烦你帮这位同学的代码优化下~~
到底哪错了???
http://bbs.ahalei.com/forum.php? ... 483&fromuid=981
(出处: 啊哈磊_编程从这里起步)
我只是粗略的优化了下下,没有解决根本问题,
看你怎么优化罗~~~


地板
发表于 2014-3-10 00:20:39 | 显示全部楼层
rosynirvana 发表于 2014-3-10 00:05
对不起,以你表现出来的水准来说,还真算不上什么讨论,只能是单方面告诉你正确答案罢了
答案有多种多样 ...

那你弄个加减法浮点的例子出来看看罗~
我水准很菜的,也不敢说我精通这门语言~~

我只知道1.1+1.2=?几的
小学生不会在数学题上写2.300000这样的答案~~~
我所说的隐式错误也正出于这方面的观点~~
如果你非要这样写,我只能说~呵呵,,你真有才
5#
发表于 2014-3-11 22:43:59 | 显示全部楼层
rosynirvana 发表于 2014-3-10 13:29
加减法有浮点陷阱的例子,整个论坛有很多问的
比如 http://bbs.ahalei.com/thread-2305-1-6.html

忘了,float确实有精确度存取问题,
一般浮点运算应该用double才对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表