编写并测试Fibonacci()函数,该函数用递归计算斐波那契数。
时间: 2024-11-27 13:09:05 浏览: 30
当然,我可以帮你介绍如何编写一个使用递归实现的 Fibonacci 函数以及如何进行测试。斐波那契数列是一个经典的数学序列,其中每个数字都是前两个数字之和,通常开始是0和1。
以下是一个简单的 C 语言实现:
```c
#include <stdio.h>
// Recursive function to calculate the nth Fibonacci number
int fibonacci(int n) {
if (n <= 1) {
return n; // Base case - for n=0 and n=1, fib(n) is n itself
} else {
return fibonacci(n-1) + fibonacci(n-2); // Recursion: fib(n) = fib(n-1) + fib(n-2)
}
}
int main() {
int num;
printf("Enter a non-negative integer: ");
scanf("%d", &num);
if (num < 0) {
printf("Error: Fibonacci sequence is defined only for non-negative integers.\n");
return 1;
}
// Testing the function with some examples
printf("Fibonacci of %d is: %d\n", num, fibonacci(num));
return 0;
}
```
在这个程序中,`fibonacci()` 是递归函数,当 `n` 不小于2时,它会调用自身两次来计算结果。主函数首先读取用户的输入,然后检查是否为非负整数。如果是,它就调用 `fibonacci()` 并打印结果。
要测试这个函数,你可以尝试输入不同值(比如0、1、2、10、37等),看看输出是否正确。记住,递归算法对于大数值可能会非常慢,因为会产生大量的重复计算。
阅读全文