C语言题函数调用

来源:百度知道 编辑:UC知道 时间:2024/07/05 03:28:13
输入2个正整数m和n(m>=1,n<=10000),输出m~n之间所有的fibonacci数。fibonacci序列(第1项起):1 1 2 3 5 8 13 21......。要求定义并调用函数fib(n),它的功能是返回第n项fibonacci数。例如,fib(7)的返回值是13。

#include <stdio.h>

int fib(int);

main(){
int i,j,k,l;
printf("请输入两个正整数 用空格分隔!\n");
scanf("%d %d",&i,&j);
printf("the num you input are:%d,%d\n",i,j);
if(i>j){
i=i+j;
j=i-j;
i=i-j;
printf("the num you input are:%d,%d\n",i,j);
}
k=0;
while(1){
k++;
l=fib(k);
if(l>=i&&l<=j){
printf("%d,",l);
}
if(l>j){
break;
}
}
}
int fib(int n){
int i=1;
int j=1;
int k;
if(n==1||n==2){
return 1;
}
for(k=3;k<=n;k++){
j=i+j;
i=j-i;
}
return j;
}

#include <stdio.h>
int fib(int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}

int main(void)
{
int m,n;
printf("plz i