【发布时间】:2016-10-02 15:52:27
【问题描述】:
下面的代码我没有得到正确的答案。任何人都可以调试此代码吗? 当我输入半径 = 5 时,我得到的答案是 500.000000,而原始答案应该是 523.80952。谁能解释一下这里出了什么问题?
球体体积公式=4/3(π x r^3)
#include <stdio.h>
int main()
{
float radius = 0;
float volume;
float pie = 0;
printf("Enter radius");
scanf("%f", &radius);
pie = 22 / 7;
volume = (4*pie*radius*radius*radius)/3;
printf("the volume is %f", volume);
return 0;
}
【问题讨论】:
-
"原始答案应该是 523.80952"。不,它应该更像
523.598776(到小数点后 6 位)。 22/7 对 π 的逼近很差。我建议使用更准确的值。
标签: c floating-point division integer-division