c++ 中计算V=4/3*3.14*R*R*R ; R=1时为什么计算结果为1啊??? 我定义的是doubale类型啊??

[复制链接]
查看11 | 回复4 | 2013-3-16 09:41:01 | 显示全部楼层 |阅读模式
你改成V=4.0/3.0*3.14*R*R*R试试,当然,V和R都要是double型!...
回复

使用道具 举报

千问 | 2013-3-16 09:41:01 | 显示全部楼层
输出语句写错了吧。输出 R 为1.V=4/3*3.14*R*R*R4/3 得 1 -- 整型除以整型得整型V=1*3.14*1*1*1 得 3.14 doubale -- double...
回复

使用道具 举报

千问 | 2013-3-16 09:41:01 | 显示全部楼层
改成V=1.0*4/3*3.14*R*R*R 这是因为4/3,整数时,为1的原因乘于1.0后,转换成浮点数,就正确了。...
回复

使用道具 举报

千问 | 2013-3-16 09:41:01 | 显示全部楼层
V=4*1.0/3*3.14*R*R*R,要不然你4/3的值为1了,还有输出时保留几位你自己注意一下...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行