万能百科  > 所属分类  > 

●试题二 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明2.1】 L为

●试题二

阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明2.1】

L为一个带头结点的循环链表。函数deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。

【函数2.1】

LinkList deletenode(LinkList L,int c)

{

LinkList Lc,p,pre;

pre=L;

p= (1) ;

Lc=(LinkList)malloc(sizeof(ListNode));

Lc->next=Lc;

while(p!=L)

if(p->data>c)

{

(2) ;

(3) ;

Lc->next=p;

p=pre->next;

}

else

{

pre=p;

p=pre->next;

}

return Lc;

}

【说明2.2】

递归函数dec_to_k_2(int n,int k)的功能是将十进制正整数n转换成k(2≤k≤9)进制数,并打印。

【函数2.2】

dec_to_k_2(int n,int k)

{∥将十进制正整数n转换成k(2≤k≤9)进制数

if(n!=0)

{

dec_to_k_2( (4) ,k);

printf("%d", (5) );

}

}

正确答案:

●试题二【答案】(1)pre->next或L->next(2)pre->next=p->next(3)p->next=Lc->next(4)n/k(5)n%k【解析】这一题共有两个函数,第一个函数是考查链表的删除和插入操作,第二个函数是考查递归函数。先看第一个函数。(1)空所在语句是对指针p赋初值,通过下面的程序可以判断指针pre所指的结点是指针p所指的结点前驱结点,因此(1)空处应填写"pre->next"或"L->next"。(2)、(3)空所在

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签