下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2,3、5、8、13、21、…… 例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在

admin2019-07-25  21

问题 下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2,3、5、8、13、21、……
例如,若给n输入7,则该项的斐波拉契数值为13。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件NODl1.C中,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
long fun(int g)
{
/**********found*********/
switch(g);
{case0:return0;
/**********found**********/
case1;case2:return1;
}
return(fun(g-1)+fun(g-2));
}
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);
}

选项

答案(1)去掉分号 (2)cage1:cage2:return1;

解析 本题考查:switch语句,其一般形式为:
switch(表达式)
{
cage常量表达式1:语句1;
case常量表达式2:语句2;
case常量表达式n:语句n;
default:语句n+1:
}
其中switch(表达式)后不应该带有“;”,同时case语句常量后应该是“:”。
转载请注明原文地址:https://kaotiyun.com/show/4pID777K
0

最新回复(0)