下列给定程序中函数fun()的功能是:计算n!。例如,给 n输入5,则输出120.000000。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #incl

admin2010-09-14  23

问题 下列给定程序中函数fun()的功能是:计算n!。例如,给 n输入5,则输出120.000000。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
   #include <stdio.h>
   #include <conio.h>
   double fun (int n)
   { double result=l.0;
   /*************found**************/
       if n==0                              
           return 1.0;
      while (n>l&&n<170)
    /*************found**************/
           result *=n--
       return result;
   }
    main ( )
    { int n;
      printf ("Input N: ");
       scanf ( "%d" &n);
       printf ("\n\n%d!=%lf\n\n",n, fun(n));
   }

选项

答案(1)错误:if n==0 正确:if(n==0) (2)错误:result*=n-- 正确:result*=n--;

解析 在做这道题之前,我们首先应该明白一个数学上的概念,一般判卷人员先要执行程序,如果结果正确,得满分,否则错一个扣分,再错再扣,本题考查5! 即5!=5×4×3×2×1=120,要求输出double型结果。
转载请注明原文地址:https://jikaoti.com/ti/uIkiFFFM
0

最新回复(0)