填空题 下列给定程序中,函数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;
}
void main()
{
int n;
system("CLS");
printf("Enter an integer:");
scanf("%d",&n);
printf("/n/n%d!=%ld/n/n",n,fun(n));
}
【正确答案】
【答案解析】(1)result*=n--;
(2)return result; [解析] 该题采用循环语句计算n的阶乘。当n大于1且小于170时,令result与n相乘,同时n自动减1,循环至n=2(n=1时无须相乘)。最后将阶乘的积result返回给主函数。