题目内容:
下列给定程序中,函数proc()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,…例如,若给n输入8,该项的斐波拉契级数值为21。请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
long proc(int g)
{
//****found****
switch(g);
{
case 0:return 0;
//****found****
case 1;case 2:return 1;
}
return(proc(g-1)+proc(g一2));
}
void main()
{
long fib;int n;
printf("Input n:");scanf("%d",&n);
printf("n=%d\n",n);
fib=proc(n):
printf("fib=%d\n\n",fib);
}
参考答案:【答案仅供学习,请勿对照自行用药等】
答案解析: