单项选择题

设有一个递归算法如下:
               int fact(int n) {  //n大于等于0
              if(n<=0) return 1; 
             else return n*fact(n-1);        } 
则计算fact(n)需要调用该函数的次数为()

A. n+1
B. n-1
C. n
D. n+2


您可能感兴趣的试卷

你可能感兴趣的试题

1.单项选择题链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作()。

A.x=top->data;top=top->link;      
B.top=top->link;x=top->link;     
C.x=top;top=top->link;        
D.x=top->link;

4.单项选择题若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在()种情况。

A.5,4,3,2,1
B.2,1,5,4,3
C.4,3,1,2,5
D.2,3,5,4,1

5.单项选择题在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是()。

A.p->next=q; q->prior=p; p->next->prior=q; q->next=q; 
B.p->next=q; p->next->prior=q; q->prior=p; q->next=p->next; 
C.q->prior=p; q->next=p->next; p->next->prior=q; p->next=q; 
D.q->prior=p; q->next=p->next; p->next=q; p->next->prior=q;

6.单项选择题在双向链表存储结构中,删除p所指的结点时须修改指针()。

A.p->next->prior=p->prior; p->prior->next=p->next;
B.p->next=p->next->next; p->next->prior=p;
C.p->prior->next=p; p->prior=p->prior->prior;
D.p->prior=p->next->next; p->next=p->prior->prior;

7.单项选择题在单链表中,要将s所指结点插入到p所指结点之后,其语句应为()。

A.s->next=p+1; p->next=s;
B.(*p).next=s; (*s).next=(*p).next;
C.s->next=p->next; p->next=s->next;
D.s->next=p->next; p->next=s;

10.单项选择题与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A.存储结构
B.存储实现
C.逻辑结构
D.运算实现