选择题

wit2188 2007-09-13 05:12:01
若变量f已说明为float类型,i为int类型,则下面哪些表达式(或语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的运算?(多选)
A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0;
C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0;
请给出思考方法.
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
makewater 2007-09-14
  • 打赏
  • 举报
回复
如果f是100.000000,扩大100倍后成10000.0000,加0.5后成10000.5000,如此而已,何来第三位的四舍五入?
======
要知道(int)10000.5000的结果是10000
(int)10000.9000的结果也是10000
wit2188 2007-09-14
  • 打赏
  • 举报
回复
谁知道?
Aixnech 2007-09-13
  • 打赏
  • 举报
回复
我觉得BC都行
C比较好一点
wit2188 2007-09-13
  • 打赏
  • 举报
回复
如果f是100.000000,扩大100倍后成10000.0000,加0.5后成10000.5000,如此而已,何来第三位的四舍五入?
freshairfly 2007-09-13
  • 打赏
  • 举报
回复
BC。

i=f*100+0.5, //这步将f扩大100倍,并且加上0.5是为了将第三位四舍五入到第二位
f=i/100.0;这步就是将其缩小100倍

C其实和B是一样的,只是写法稍有区别而已

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧