问题
问答题
请在函数fun()的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波那契数列。斐波那契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
int fun(int n);
main()
int i,n=0;
scanf("%d",&n);
for(i=0;i<n; i++)
printf("%d",fun(i));
int fun(int n)
if( 【1】 )
return 0;
else
if( 【2】 )
return 1;
else
return 【3】 ;
答案
参考答案:[1]n==0 [2]n==1 [3]fun(n-1)+fun(n-2)
解析: 填空1:斐波那契数列的特点是,第一项为0,第二项为1,从第三项开始,每数等于前面两数之和,所以n==0和n==1都是递归的终止条件,当n==0时,返回0。填空2:当n==1时,返回1。填空3:当n为非0和非1的数时,n对应的斐波那契数为前两项之和,即返回fun(n-1)+fun(n-2)。