首页 > 计算机 > 软考初级 正文

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

时间:2021-05-05 07:09:04 解答: 67 次

●试题二

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

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2025-01-02 00:14:39

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2025-01-02 00:14:39

←请使用微信扫码支付