利用递归方法求n的阶乘。 long Fac(int n) { if(n==1) __[填空1]__;//递归头 else __[填空2]_;//递归调用自身 }
举一反三
- 使用递归调用的方法求正整数n的阶乘。
- 使用递归函数计算n!(n=0,1,2,3,…)的是______ A: fac(int n) if(n==0)return 1; else for(i=1;i<=n;i++)f*=i; return f; } B: fac(int n) { if(n==0‖n==1)return 1; else return n*fac(n-1); } C: fac(int n) {int i=1,f=1; if(n==0)return 1; else do{f*=i;}while(i++<n); return f; } D: fac(int n) {int i=1,f=1; if(n==0)return 1; else while(1<=n)f*=i++; return f;
- 下面的程序的功能是什么?函数递归函数递归函数递归输入数字<br> A: 用递归方式求n的阶乘 B: 求1!+2!+3!+……+n! C: 求n的累加和 D: 判断闰年程序。
- 下函数递归函数递归输入数字<br>面的程序的功能是什么?函数递归 A: 用递归方式求n的阶乘 B: 求1!+2!+3!+……+n! C: 求n的累加和 D: 判断闰年程序。
- //函数的递归调用――求n!//请选择空白位置的正确内容#include <;stdio.h>;//用递归实现的计算阶乘的函数long factn(int n){long s;if(n==0)//n为0则结果为1return(1);else//n不为0(实质是指n>;0)则结果为n*(n-1)!{s=________;//递归调用return(s);}}int main(){long n;printf("\n请输入一个不小于0的整数:");scanf("%d",&n);printf("\n%d!=%d\n",n,factn(n));return 0;} A: n*(n-1)! B: n*factn(n-1) C: factn(n-1)