三、程序改錯題(共24分)
下列給定程序中函數(shù)fun()的功能是:用遞歸算法計算斐波拉契數(shù)列中第n項的值。從第l項起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…
例如,若給n輸入7,則該項的斐波拉契數(shù)值為l3。
請改正程序中的錯誤,使它能得出正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
#include
long fun(int g)
{
//****found****
switch(g);
{
case 0:return 0;
||****found****
case l:case 2:return l;
}
return(fun(g-1)+fun(g-2));
}
void main()
{
long fib;int n;
printf("Input n:");
scanf("%d",&n);
printf("n=%d\n",n);
fib=fun(n);
printf("fib=%d\n\n",fib);
}
編輯推薦:
2014年上半年計算機等級考試報名時間及入口專題
各地2014年計算機等級考試費用匯總
2014年計算機等級考試時間