问题 填空题

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

if( (1) )
return(n*fun( (2) ));
return (3)

main()

printf("10!=%1d\n",fun(10));

答案

参考答案:1或11或1L

解析: 此题应用的是递归算法,我们知道10!=10×9!,9!=9×8!,8!=8×7!……依此类推,而1!=1,2!=2×1!=2,3!=3×2!=6……,依此可以推出10!,递推算法表示为:
n!=1(n≤1)
n!=n*(n-1)(n>1)

选择题
多项选择题