填空题
fun函数的功能是删除s指向的链表中满足以下条件的结点:该结点的编号值是奇数且存放的字母ASCII编码值也为奇数(提示:a的ASCII编码是97);将删除的结点添加到t指向的链表尾部。试完善fun函数以达到要求的功能。
例如,若删除前的s链表为:
s à1 a à2 b à3 b à 4 c 0
则删除后的s链表为:
sà2 b à3 b à4 c 0
#include
struct node
{int i; /* 存放结点的编号 */
char c: /* 存放一个字母的ASCII编码 */
struct node *next;
};
struct node *t=NULL:
struct node *fun(struct node *s)
{struct node *p,*q;struct node *r;
p=q=s;
while(p!=NULL)
{if(((pài)%2)&&((pàc)%2))
{if(s==p)
s=q= 【27】 ;
else
{ 【28】 ;
q=p->next;
}
if(t==NULL)
t=r=p;
else
{ r->next=p; r=r->next; }
}
p= 【29】 ;
}
if(t!=NULL)
【30】 ;
return s;
}
【正确答案】
1、(27) p->next
(28) q->next=p->next
(29) p->next
(30) r->next=NULL
【答案解析】