c语言斐波那契数列第n项值
时间: 2023-11-22 07:48:41 浏览: 136
以下是两种C语言实现斐波那契数列第n项值的方法:
1.递归法
```c
#include <stdio.h>
int Fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return Fibonacci(n-1) + Fibonacci(n-2);
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("斐波那契数列的第%d项为:%d\n", n, Fibonacci(n));
return 0;
}
```
2.数组法
```c
#include <stdio.h>
int Fibonacci(int n) {
int arr[40] = {0, 1};
for (int i = 2; i <= n; i++) {
arr[i] = arr[i - 1] + arr[i - 2]; }
return arr[n];
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("斐波那契数列的第%d项为:%d\n", n, Fibonacci(n));
return 0;
}
```
相关问题
c语言求斐波那契数列第n项
以下是用 C 语言实现求斐波那契数列第n项的代码:
```c
#include <stdio.h>
// 求斐波那契数列的第n项
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;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("斐波那契数列的第%d项为:%d\n", n, fibonacci(n));
return 0;
}
```
在这个程序中,我们使用递归的方式来求解斐波那契数列的第n项。在递归函数中,如果n小于等于0,我们返回0;如果n等于1,我们返回1;否则我们返回前两项的和。在主函数中,我们通过scanf函数获取用户输入的n,然后调用fibonacci函数来求解斐波那契数列的第n项。最后,我们输出结果。
斐波那契数列c语言第n项值
以下是C语言中求解斐波那契数列第n项值的程序:
```c
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n > 0 && n <= 1) {
printf("0");
} else if (n > 1 && n <= 3) {
printf("1");
} else {
int a = 0, b = 1, c, i;
for (i = 3; i <= n; ++i) {
c = a + b;
a = b;
b = c;
}
printf("%d", c);
}
return 0;
}
```