#include<stdio.h> #include<windows.h> int Fibonacci() //非递归实现斐波那契数列求第n个数 { int n = 1; int fib1 = 1; int fib2 = 1; int fib = 2; printf("Please input a number:\n"); scanf("%d", &n); for (int k = 3; k <= n; k++) { fib = fib1 + fib2; fib1 = fib2; fib2 = fib; } printf("第%d个Fibonacci数是:%d\n", n, fib); return fib; } int main() { int ret = Fibonacci(); system("pause"); return 0; } #include<stdio.h> #include<windows.h> //int count = 0; int Fib(int n) //递归实现Fibonacci数列求第n个数 { //if (n == 3) // count++; if (n <= 2) return 1; else return Fib(n - 2) + Fib(n - 1); } int main() { int n = 0; printf("Please input a number:\n"); scanf("%d",&n); int ret = Fib(n); printf("第%d个斐波那契数是%d:",n,ret); //printf("\n%d", count); system("pause"); return 0; }