下列给定程序中函数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));
参考答案:错误:if n==0 正确:if(n==0)
(2)错误:result*=n-- 正确:result*=n--;
解析: 在做这道题之前,我们首先应该明白一个数学上的概念,一般判卷人员先要执行程序,如果结果正确,得满分,否则错一个扣分,再错再扣,本题考查5! 即5!=5×4×3×2×1=120,要求输出double型结果。