我正在为学校做一个项目,在做完计算后,打印的结果总是‘inf’。我做了很多研究,但我不知道如何显示计算出来的值。
程序的工作原理如下:
用户输入高和低翘曲因子以及特定范围内的增量值。然后,程序计算从低翘曲因子点到高翘曲因子点的速度,并将每个结果打印到屏幕上。
旧版星际迷航的速度计算是v=(w^3)*c新星际迷航的速度计算是v=(w^(10/3))*c
V是速度,w是翘曲因子,c是光速。这些计算是由学校提供的。变量newV表示新一代速度计算,并始终显示为‘inf’。我被困在这里,不知道该怎么办。
代码如下:
double oldV = 0.0;
double newV = 0.0;
const double c = 299792458.0;
for (double i = low; i < high; i = i+increment)
{
oldV = ((pow(low, 3))*c)*3.6;
newV = pow(low, (10 / (float)3)*c)*3.6;
low = low + increment;
printf("%20.2f%20.2lf%20.2a\n", i, oldV, newV);
}//end of calculation for loop我知道这是一个阅读,但我必须解释,提前感谢你的帮助!
发布于 2016-01-31 12:42:41
您在这一行中的括号有误:
newV = pow(low, (10 / (float)3)*c)*3.6;根据给出的公式,c应该在pow函数的外部:
newV = pow(low, (10 / (float)3))*c*3.6;https://stackoverflow.com/questions/35110347
复制相似问题