给定程序MODll.C中函数fun的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include double

admin2013-04-02  67

问题 给定程序MODll.C中函数fun的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
double fun(int n)
{
  double result=1.0;
  while(n>1&&n<170)
/******************found*******************/
  result *=--n;
/******************found*******************/
  return __________;
}
main()
{
  int n;
  printf(”EnLer an integer:”);
  scanf(”%d”,&n);
  printf(”\n\n%d!=%lg\n\n”,i"1,fun(n));
}

选项

答案result *=n--; return result;

解析 (1)第一个标识下while循环过程实现n的阶乘,根据阶乘的算法n!=n*(n-1)*…*1,题干中的语句“result *=--n;”先对n进行减1操作,结果就少乘了n,所以将“result *=--n;”改为“result *=n--;”。
(2)根据fun函数的定义,fun函数应该返回阶乘结果,所以第二个标识下填空为“return result;”。
转载请注明原文地址:https://kaotiyun.com/show/8JJp777K
0

相关试题推荐
最新回复(0)