C++ 当我试图显示1,1/2,1/3的浮点值时,我一直得到1输出。。。。。1/n。我该如何解决这个问题?
C++ 当我试图显示1,1/2,1/3的浮点值时,我一直得到1输出。。。。。1/n。我该如何解决这个问题?,c++,C++,当我试图显示1,1/2,1/3的浮点值时,我一直得到1输出。。。。。1/n。如何解决此问题?虽然总和是浮点型,但I不是。通过执行1/i您正在执行int/int除法,这显然是四舍五入 发生的事情是:1/1+1/2+…+1/n=1+0+…+0=1 您可以通过强制转换或更改i的类型来解决此问题 一个简单的解决方案可以是: sum = sum + ((float)1 / i); 甚至: sum = sum + (1.0/i); 请编辑您的问题并以文本形式发布代码。我们自己也无法在图像中尝试代码,我们
当我试图显示1,1/2,1/3的浮点值时,我一直得到1输出。。。。。1/n。如何解决此问题?虽然
总和
是浮点型,但I
不是。通过执行1/i
您正在执行int/int
除法,这显然是四舍五入
发生的事情是:1/1+1/2+…+1/n
=1+0+…+0
=1
您可以通过强制转换或更改i
的类型来解决此问题一个简单的解决方案可以是:
sum = sum + ((float)1 / i);
甚至:
sum = sum + (1.0/i);
请编辑您的问题并以文本形式发布代码。我们自己也无法在图像中尝试代码,我们也无法将其复制到答案中,而且它不会出现在未来的谷歌搜索中。请参阅:听起来您在使用
int
,而您应该使用double
。这是否回答了您的问题?或者是的,谢谢!