有如下递归函数:
int Fun(int n){
if(n<=1) return 1;
______
}
请补充完整,使得函数Fun能够正确计算形参n的阶乘。
第1题:
下列给定程序中,函数fun的功能是按以下递归公式求函数值。
例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。
请改正程序中的错误,使它能得到正确结果。
注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
/*************found****+*******/
fun(int n);
{
int c;
/*************found********+*****/
if(n=1)
c=15;
else
c=fun(n-1)*2;
return(c);
}
main()
{
int n;
printf("Enter n:");
scanf("%d",&n);
printf("The result:%d\n\n",fun(n));
}
第2题:
函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是( )。
A.Fun(20);
B.Fun(20+n);
C.Fun(n);
D.Fun(&n);
第3题:
函数定义为Func(int *p),变量定义为n=100,则下面调用该函数正确的是?
A.Fun(20)
B.Fun(20+n)
C.Fun(n)
D.Fun(&n)
第4题:
有如下函数模板定义: template<typename T1,int a2,int a3> T1 fun(T1 a1) { return(al+a2+a3); } 则下列调用中正确的是( )。
A.fun<int,4,3>(5);
B.fun<4,3>(5);
C.fun<int,int,int>(5);
D.fun(5);
第5题:
下列函数中,哪项是正确的递归函数( )。
A int Fun(int n)
{
if(n<1) return 1;
else return n*Fun(n+1);
}
B) int Fun(ira n)
{
if(abs(n)<1) return 1;
else return n*Fun(n/2);
}
C) int Fun(int n)
{
if(n>1) return 1;
else return n*Fun(n*2)1
}
D) int Fun(int n)
{
if(n>1) return 1;
else retun n*Fun(n-1);
}
A.A
B.B
C.C
D.D