一、问题
使用递归函数求斐波那契数列(Fibonacci)数列的第n项。
f(1)=1
f(2)=1
f ( n ) =f(n-1)+f(n-2), n=3,4,5,6…
输入:项数n
输出:输出一个正整数,若n为非正整数输出’ERROR’.
【输入输出要求】
输入:项数n
输出:输出一个正整数,若n为非正整数输出"ERROR".
【输入输出样例】
输入:
5
输出:
5
输入:
-1
输出:
ERROR
二、代码
#include <stdio.h>
#include <string.h>
int fib(int n){
if(n==1){
return n;
}
else if(n>0){
return fib(n-1) + fib(n-2);
}
}
int main(){
int i;
scanf("%d",&i);
if(i<=0){
printf("ERROR");
}
else{
printf("%d",fib(i));
}
return 0;
}