程序的目的是计算每个深度处的体积。输入是半径和长度,在这个测试案例中它们分别是2.1和5.6。我一直在为我的音量获得0,1,2,3和4,但这不是正确的音量,深度/高度是正确的,所以也许有人可以阐明我的方程中出现什么问题?数学公式不输出结果我想要
这是计算量的功能
int getVolume(double arrplotptr[][col], double *arr2ptr, char *nameptr)
{
double vol, h, diam, ctr, rad, len, x;
int i, j;
rad = arr2ptr[radius];
len = arr2ptr[length];
diam = (rad * 2);
ctr = diam/100;
h = 0;
for (j = 0; j < 100; j++) {
h = h + ctr;
arrplotptr[0][j] = h;
}
h = 0;
for (i = 0; i < 100; i++) {
h = h + ctr;
x = (rad - h)/rad;
vol = ((rad * rad) * acos(x) - (rad - h) * (sqrt((2 * rad * h) - (h * h)))) * len;
arrplotptr[1][i] = vol;
}
}
为什么你使用'CTR =直径/ 100;'的',而不是点击率=弧度/ 100;'? – chqrlie
我没有看到'返回'的函数声明返回'int'中的表达式。未定义的行为。 – EOF
你可以把你的代码变成MWE吗?即,打印出计算结果的主程序? –