我正在编写一个程序来计算Fibonacci序列中的特定值。递归方法完美的作品,但是当我尝试使用for循环,它不工作这么好:C#:无法在For循环内重新分配变量
class Program
{
static int loopF(int n)
{
int result=0;
if (n == 1)
{
result = n;
}
else if (n == 2)
{
result = n;
}
else if (n>2)
{
int S1 = 1; int S2 = 2;
for (int i = 3; i>n; i++) {
result = S1 + S2;
S1 = S2;
S2 = result;
}
}
else{
Console.WriteLine("Input Error");
}
return (result);
}
static void Main()
{
Console.WriteLine(loopF(10)); //it gives me 0; wrong
Console.WriteLine(loopF(1)); //it gives me 1; correct.
}
}
有谁知道我走到哪里错了?提前致谢。
什么并不那么好走? –
“它不能很好地工作”不是一个很好的错误说明。没有信息... –
'i> n'?你弄糟了循环条件,所以你的身体永远不会执行。 –