设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--
设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。
A.n
B.n+1
C.n+2
D.n-1
设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。
A.n
B.n+1
C.n+2
D.n-1
第1题
A.8次
B.9次
C.16 次
D.18次
第3题
第4题
有如下递归过程:
void print(int w)
{
int i;
if(w!=0)
{
print(w-1);
for(i=1;i<=w;i++) printf(“%3d”,w);
printf(“/n”); }
}
调用语句print(4)的结果()。
第5题
求自然数1到n的和的递归定义如下: sum(1)=1 若n=1 sum(n)=sum(n-1)+n; 若n>1 下列定义的方法的功能是用递归的算法完成自然数1到n的累加和,请补充程序。 int sum (int num{ if(num = =1)return1; else return【 】 }
第7题
随机生成的10个两位数,求出它们的总和和平均数。产生两位数采用的算法如下:分别产生个位数(0~9)和十位数(1~9),然后十位数乘10再加上个位数即得到一个两位数。 说明:在窗体上有一个Command1按钮,单击它将计算10个随机数的和以及平均数,并在窗体上输出平均数。 Private Sub Command1_Click() Dim M As Integer,N As Integer,Sum As Integer Dim I As Integer, K As Integer,Ave As Single Sum=0 Randomize For I=1 To 10 M=Int(9*Rnd)+1 N=【 】 K=M*10+N Sum=【 】 Next I Aver=【 】 Print Aver End Sub
第8题
设有如下程序段: int i=0,sum=1; do { sum+=i++;} while(i<6); printf("%d\n",sum); 上述程序段的输出结果是【 】。
第9题
设有如下程序 #include<stdio.h> main() { int **k, *j,i=100; j=&i; k=&j; printf("%d\n"”,**k); } 上述程序的输出结果是______。
A.运行错误
B.100
C.i的地址
D.j的地址
第10题
下面是一个递归Java程序,其功能为 ()long actorial(int n){ i(1==n){ return 1; } else return n*actorial(n-1);}
A.求1-n的和
B.求2到n的和
C.求n的阶乘
D.求2-n的积
第11题
A.20
B.j的地址
C.i的地址
D.运行错误