问题
填空题
下列给定程序中,函数fun的功能是:计算整数n的阶乘。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<stdio.h>
double fun(int n)
double result=1.0;
while(n>1&&n<170)
/*********found************/
result*=--n;
/***********found*********/
Return;
voidmain()
int n;
system("CLS");
printf("Enter an integer:");
scanf("%d",&n);
printf("\n\n%d!=%1d\n\n",n,fun(n));
答案
参考答案:(1)result*=n--;
(2)return result;
解析: 该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无须相乘)。最后将阶乘的积result返回给主函数。