0

我有一个包含所有功能的函数类。我想在函数之间传递参数,但不是递归。

假设我的第一个函数返回一个数组,我想将该数组发送到另一个检查它的函数。

我怎样才能在程序课上做到这一点?

我尝试:

  public List InsertFibo()
    {                  
        List<int> Fibo = new List<int>();              
        Console.WriteLine("enter you number");
        string n = Console.ReadLine();
        int numbers = Convert.ToInt32(n);

        for (int i = 0; i < numbers; i++)
        {

            Console.WriteLine("insert numbers");
            string z = Console.ReadLine();
            int number = Convert.ToInt32(z);
            Fibo.Add(number);
        }
        return Fibo; ;

    }

    public bool check(List<int> f)
    {
        int temp1=0;
        int temp2=1;
        int temp3=2;

        if (f[temp1]+f[temp2]==f[temp3])
        {
            temp1++;
            temp2++;
            temp3++;
            return true ;
        }
        else
        {
            return false;   
        }
    }

节目类

Fibonachi f = new Fibonachi();
       Console.WriteLine(f.InsertFibo());
       Console.WriteLine(f.check());

我该怎么做?

4

3 回答 3

1

你可以用这个

Fibonachi f = new Fibonachi();
List list = new List();
list = f.InsertFibo();
Console.WriteLine(list);
Console.WriteLine(f.check(list));
于 2013-01-10T10:40:01.737 回答
0

我对您的程序的理解是,函数 InsertFibo() 要求用户输入一个数字 n(比如 5),然后输入 n 个数字(5 个数字)。然后调用第二个函数 check() 以确认输入的数字形成斐波那契数列。

所以对第一个函数的调用应该是这样的

Fibonacci Fibonacci = new Fibonacci();
List<int> lstFibNumbers = Fibonacci.InsertFibo();
for(int index = 0; index < lstFibNumbers.Count; index++)
  Console.WriteLine(lstFibNumbers[index]);

现在调用 check 方法为

Console.WriteLine(Fibonacci.check(lstFibNumbers));

检查方法将如下所示

public bool check(List<int> f)
{
  int temp1=0;
  int temp2=1;
  int temp3=2;

  bool IsAFibonacciSeries = false;

  while(temp1 < f.Count)
  {
    if (f[temp1]+f[temp2]==f[temp3])
    {
      temp1++;
      temp2++;
      temp3++;
      IsAFibonacciSeries = true;
    }
    else
    {
      return false; //If anytime the series is not followed, just return false
    }
  }
  return IsAFibonacciSeries;
}
于 2013-01-10T11:15:21.113 回答
0

尝试

Array a = new Array ();
var b = a.InsertArray()
Console.WriteLine(b);
Console.WriteLine(a.check(b));
于 2013-01-10T10:40:04.450 回答