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