永发信息网

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

答案:5  悬赏:70  手机版
解决时间 2021-03-23 15:35
  • 提问者网友:你挡着我发光了
  • 2021-03-23 06:30
c++ 中计算V=4/3*3.14*R*R*R ; R=1时为什么计算结果为1啊??? 我定义的是doubale类型啊??
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-03-23 07:20
输出语句写错了吧。输出 R 为1.
V=4/3*3.14*R*R*R
4/3 得 1 -- 整型除以整型得整型
V=1*3.14*1*1*1 得 3.14

doubale -- double追问哦哦,,对 我是初学者。。那怎么才能使4/3不是1呢??
全部回答
  • 1楼网友:玩家
  • 2021-03-23 10:18
可能是哪里弄错了吧,我这个就是3.14.。。。
  • 2楼网友:几近狂妄
  • 2021-03-23 09:53
改成V=1.0*4/3*3.14*R*R*R
这是因为4/3,整数时,为1的原因
乘于1.0后,转换成浮点数,就正确了。
  • 3楼网友:野慌
  • 2021-03-23 09:41
V=4*1.0/3*3.14*R*R*R,要不然你4/3的值为1了,还有输出时保留几位你自己注意一下
  • 4楼网友:舍身薄凉客
  • 2021-03-23 08:25
你改成V=4.0/3.0*3.14*R*R*R试试,当然,V和R都要是double型!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯