求斐波那契数列的第n项,斐波那契数列由0和1开始,后面的每一项数字都是前两项之和。如 F(O)=0 F(1)= 1 F(n)=F(n-1)-F(n-2) ,当n>1时 设计函数,根据输入的n,计算出F(n)值,并输出F(n)、F(n-1)、 F(n-2)的值。(注:用
时间: 2024-06-13 19:08:06 浏览: 58
根据斐波那契数列的定义,可以使用递归或循环的方式来计算第n项的值。以下是两种方法:
方法一:使用递归
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n = 10;
int fn = fibonacci(n);
int fn_1 = fibonacci(n-1);
int fn_2 = fibonacci(n-2);
printf("F(%d)=%d, F(%d)=%d, F(%d)=%d\n", n, fn, n-1, fn_1, n-2, fn_2);
return 0;
}
```
方法二:使用循环
```c
#include <stdio.h>
int fibonacci(int n) {
int f0 = 0, f1 = 1, fn, i;
if (n == 0) {
return f0;
} else if (n == 1) {
return f1;
} else {
for (i = 2; i <= n; i++) {
fn = f0 + f1;
f0 = f1;
f1 = fn;
}
return fn;
}
}
int main() {
int n = 10;
int fn = fibonacci(n);
int fn_1 = fibonacci(n-1);
int fn_2 = fibonacci(n-2);
printf("F(%d)=%d, F(%d)=%d, F(%d)=%d\n", n, fn, n-1, fn_1, n-2, fn_2);
return 0;
}
```
阅读全文