下列给定程序中,函数fun()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波`拉契级数序列为1, 1,2,3,5,8,13,21,……例如,若给n输入7, 该项的斐波拉契级数值为13。 请改正程序中的错误,使它能得出正确的

admin2010-09-14  25

问题 下列给定程序中,函数fun()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波`拉契级数序列为1, 1,2,3,5,8,13,21,……例如,若给n输入7,
   该项的斐波拉契级数值为13。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include <stdio.h>
   long fun(int g)
   {
   /*************found**************/
    switch(g);
      {case 0:return 0;
   switch(g)
       case 1; case 2:return 1;
   }
   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\D\n",fib);
   }

选项

答案(1)错误:switch(g); 正确:去掉分号 (2)错误:case 1;case 2:return 1: 正确:case 1:case 2:return 1;

解析 C语言中,Switch语句之后不能有分号,并且Case语句常量后应用的是冒号。
转载请注明原文地址:https://kaotiyun.com/show/NWID777K
0

相关试题推荐
最新回复(0)