在C语言中,可以使用循环或递归的方式来解决Fibonacci数列问题。
#include <stdio.h>
int fibonacci(int n)
{
if (n <= 1) {
return n;
}
int first = 0;
int second = 1;
int result = 0;
for (int i = 2; i <= n; i++) {
result = first + second;
first = second;
second = result;
}
return result;
}
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n));
return 0;
}
#include <stdio.h>
int fibonacci(int n)
{
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n));
return 0;
}
以上两种方法都能够解决Fibonacci数列问题,但是使用递归的方式效率较低,特别是对于较大的n值,递归方式会有很多重复计算,因此使用循环方式是更好的选择。