问题
填空题
下列给定程序中函数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型结果。