35 喜欢·151 浏览
解答题

●试题二

阅读下列函数说明和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)空所在
举一反三

Fatal error: Uncaught Error: Call to a member function query() on null in F:\duqu8.com\SaxueFrame\common\funarticle.php:16 Stack trace: #0 F:\duqu8.com\SaxueFrame\common\funarticle.php(51): formatContent('<p>\xE2\x97\x8F\xE8\xAF\x95\xE9\xA2\x98\xE4\xB8\x89...', Object(blockquestionlist)) #1 F:\duqu8.com\SaxueFrame\blocks\block_questionlist.php(107): formatQuestion(Array, Object(blockquestionlist)) #2 F:\duqu8.com\SaxueFrame\lib\template\template.php(640): blockquestionlist->setcontent(true) #3 F:\duqu8.com\SaxueFrame\data\compiled\templates\wap\question.detail.html.php(354): saxue_get_eloop(Array) #4 F:\duqu8.com\SaxueFrame\lib\template\template.php(329): include('F:\\duqu8.com\\Sa...') #5 F:\duqu8.com\SaxueWap\detail.php(81): saxuetpl->fetch('F:/duqu8.com/Sa...') #6 {main} thrown in F:\duqu8.com\SaxueFrame\common\funarticle.php on line 16