#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include <stdlib.h>int fib(int n)
{
if (n <= 2)
return1;
elsereturn fib(n - 1) + fib(n - 2);
}
int main()
{
int n = 0;
printf("n:");
scanf("%d", &n);
printf("%d\n", fib(n));
system("pause");
return0;
}
第二种,用循环求第n个斐波那契数
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include <stdlib.h>int fib(int n)
{
int a = 1;
int b = 1;
int c = 1;
if (n <= 2)
{
return1;
}
else
{
while (n > 2)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
}
int main()
{
int n = 0;
printf("n:");
scanf("%d", &n);
printf("%d\n", fib(n));
system("pause");
return0;
}