在c中,数学是正确的,输出是错误的.计算往复运动的总和

本文关键字:计算 运动 错误 输出 | 更新日期: 2023-09-27 18:04:03

http://imageshack.com/a/img923/5162/R6tZQr.jpg

是应该发生的结果。这是我的代码

static void CalcN()
{
  Console.Write(" ");
  for (uint n = 1; n <= 9; n++)
  {
    p = (n*n*(sides-2) - n*(sides-4)) / 2;
    Console.Write("{0,3} ", p);
    sumOfRecip += (1/p);
  }
  Console.WriteLine("{0}",sumOfRecip);
}

我的输出显示了"n"的计算是正确的,但当试图添加倒数之和时,它是错误的。我不懂数学。四舍五入计算倒数。

    Sum of
n=9 recip
--- ------
 45 1.8000
 81 3.3398
117 4.7504
153 6.0827
189 7.3620
225 8.6031
261 9.8152
297 11.0046
333 12.1756
369 13.3316
405 14.4750

在c中,数学是正确的,输出是错误的.计算往复运动的总和

您可能需要重置sumOfRecip,这样它就不会一直添加到中

3.3398 - 1.8 = the value you want.

您应该将sumOfRecip设为CalcN()内部的局部变量,除非您真的需要在该函数之外使用它。使变量尽可能地为局部变量。