请补充fun()函数,fun()函数的功能是求n的阶乘。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。 试题程序: #include long fun(int n) {

admin2012-07-18  15

问题 请补充fun()函数,fun()函数的功能是求n的阶乘。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
long fun(int n)
{
  if( 【1】)
  return(n*fun(【2】));
  return 【3】;
}
void main()
{
  printf("10 !=%ld\n",fun(10));
}

选项

答案【1】n>1或1
解析 此题应用的是递归算法,因为10!=109!,9!=98!,8!=87!…依此类推,而1!=1,2!=21!=2,3!=32!=6…,依
此可以推出10!,递推算法表示为:
    n!=1(n=1或n=0)
    n!=n*(n一1)(n>1)
转载请注明原文地址:https://jikaoti.com/ti/EikiFFFM
0

随机试题
最新回复(0)