【发布时间】:2015-11-30 08:52:49
【问题描述】:
这段代码没有找到正确的输出
对于说 n= 1(尽管它给出了说 n= 2,3,4..等的正确输出)
如果我们用 n=1 来找到 x,那么 i 循环将从 1 继续到 0,因此 x 中的第一项应该消失,剩下的应该是第二项 5;但它给出了 0 ?
对于输入 n 运行 for 循环是否有任何限制?我将不胜感激。
Function math(n As Integer) As Double
Dim i As Integer
Dim x As Double
For i = 1 To n - 1
x = (n - 1) * 2 + 5
sum = sum + x
Next i
math = sum
End Function
【问题讨论】:
-
如果输入
n=1,循环将运行 0(零)次。这是你的本意,对吧?否则你不会让 for 循环运行n-1次......另外,你为什么在循环内使用(n-1)?不应该是(i-1)吗?还是我误解了任务? -
不是 Excel 错误,更像是一道数学题。 :)
-
是的,对于 n=1,for 循环运行 0 次,那么 x = 5 应该是 n=1 的输出?在这种情况下如何修改代码以使 n=1 得到 x= 5 并使 n =2、3、4 等的所有值保持不变?不,我必须从 i 运行到 n-1(不是 i-1)的循环。事实上,对于输入 n 的不同值,它是 x 的求和公式。
-
你想求和的系列的数学函数是什么?
-
这不是数学问题,而是 vba 问题。对于 i 到 (n-1),我必须计算 x= (n-1)*2 +5 的总和。请查看其他答案。