计算C代码中的Fibonacci数

前端之家收集整理的这篇文章主要介绍了计算C代码中的Fibonacci数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题是:
我有一个矩阵.我需要为该矩阵中的每个条目计算相应的Fibonacci数,并将这些值返回到另一个矩阵中.
我一直得到一个C2109“下标需要数组或指针类型”,我知道它来自哪里,我知道它意味着什么,但我不知道如何

>解决
>让我的代码工作.

现在,它没有做任何事情.我不确定我是否从我的Fibonacci函数中返回任何值,或者在我的main函数中正确调用它.我已经修改了它原来的样子.这是我的新代码

  1. const int row1 = 3;
  2. const int col1row2 = 3;
  3. const int col2 = 3;
  4.  
  5. int fibonacci (int [][col2]);
  6.  
  7. void main()
  8. {
  9. int p[row1][col2],f [row1][col2];
  10. int sum;
  11. input (a,b);
  12.  
  13. cout<<"The Fibonacci Matrix is: ";
  14. cout<<fibonacci(p);
  15. for ( int i = 0; i < row1; i++)
  16. {
  17. for ( int j = 0; j < col2; j++)
  18. {
  19. sum = f[i][j];
  20. f[i][j] = fibonacci(p);
  21. }
  22. }
  23. cout<<endl;
  24. }
  25.  
  26.  
  27. int fibonacci (int z[][col2])
  28. {
  29. int fib [100] = {0,1};
  30. int sum = 0;
  31.  
  32. for ( int m = 2; m < 100; m++)
  33. {
  34. sum = fib[m-1] + fib[m-2];
  35. fib[m] = sum;
  36. }
  37. return sum;
  38. cout<<endl;
  39. }

任何帮助表示赞赏!

解决方法

我认为问题在于这一行:
  1. f [i][j] = fib [ p [i][j] ];

试图错误调用fib功能.你在这里有正确的想法,但要在C中调用函数,你需要使用常规括号而不是方括号.我认为这条线应该是这样的

  1. f [i][j] = fib ( p [i][j] );

作为后续行动,您对fib的实施似乎可能不正确.特别是,您接受了与矩阵相对应的两个参数,但您从不直接使用这些值.相反,您正在构建一个包含所有Fibonacci数的新局部数组.您可能希望让此函数返回它生成的相应Fibonacci数.

希望这对您的C之旅有所帮助,祝您好运!

猜你在找的C&C++相关文章