【问题描述】使用函数输出指定范围内的Fibonacci数:输入两个正整数m和n(1≤m,n≤50)输出第m~n项之间(包括n和m)所有的Fibonacci数。Fibonacci序列:1 1 2 3 5 8 13 21... ... 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。
【样例输入】1 3
【样例输出】
The fibonacci numbers are:
fib(1)=1
fib(2)=1
fib(3)=2
#include<stdio.h>
double fib(int n) {
int i;
if (n == 1 || n == 2) {
return 1;
} else {
double a = 1, b = 1, temp;
for ( i = 3; i <= n; i++) {
temp = a + b;
a = b;
b = temp;
}
return b;
}
}
int main(void){
int m,n,i;
//printf("Enter m(1<=m) and n(n<=100):\n");
scanf("%d%d",&m,&n);
printf("The fibonacci numbers are: \n");
for(i=m;i<=n;i++){
printf("fib(%d)=%.0f\n",i,fib(i));
}
return 0;
}