首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 当一元多项式aixi中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指数和对应系数。 为了便于进行运算,用带头节点的单链表存储,头节点中存储多
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 当一元多项式aixi中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指数和对应系数。 为了便于进行运算,用带头节点的单链表存储,头节点中存储多
admin
2009-02-15
42
问题
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
当一元多项式
aix
i
中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指数和对应系数。
为了便于进行运算,用带头节点的单链表存储,头节点中存储多项式中的非零项数,且各节点按指数递减顺序存储。例如:多项式8x
5
-2x
2
+7的存储结构为:
函数中使用的预定义符号如下:
#define EPSI le-6
struct Node( /*多项式中的一项*/
double c; /*系数*/
int e; /*指数*/
struct Node *next;
};
typedef struct{ /*多项式头节点*/
int n; /*多项式不为零的项数*/
struct Node *head;
}POLY;
【函数】
void Del(POLY *C, struct Node *p)
/*若p是空指针则删除头节点,否则删除p节点的后继*/
{
struct Node *t;
/*C是空指针或C没有节点*/
if(C==NULL||C->head==NULL)return;
if((1)){/*删除头节点*/
t=C->head;
C->head=t->next;
return;
}/*if*/
t=p->next;
p->next=t->next;
};/*Del*/
void Insert(POLY *C, struct Node *pC)
/*将pC节点按指数降序插入到多项式C中*/
/*若C中存在pC对应的指数项,则将系数相加;若其结果为零,则删除该节点*/
{
struct Node *t, *tp;
/*pC为空指针或其系数近似为零*/
if(pC==NULL || fabs(pC->c) < EPSI)return;
if(C->head==NULL){ /*若C为空, 作为头节点插入*/
C->head=pC;
pC->next=NULL;
C->n++;
return;
}/*if*/
/*若pC的指数比头节点的还大, 插入到头节点之前*/
if(pC->e>C->head->e){
(2);
C->head=pC;
C->n++;
return;
}/*if*/
(3);
t=C->head;
while(t!=NULL){
if(t->e>pC->e){
tp=t;
t=t->next;
}
else if(t->e==pC->e){/*C中已经存在该幂次项*/
t->c+=pC->c;/*系数相加*/
if(fabs(t->c)<EPSI){/*系数之和为零*/
(4);/*删除对应节点*/
C->n--;
}
(5);
}
else t=NULL;/*C中已经不存在该幂次项*/
}/*while*/
if(t==NULL){/*适当位置插入*/
pC->next=tp->next;
tp->next=pC;
C->n++;
}/*if*/
};/*Insert*/
选项
答案
(1) p==NULL (2) pC->next=C->head->next (3) tp=NULL (4) Del(C, tp) (5) break
解析
根据注释,Del函数当p是空指针时,删除头节点,因此易知(1)空应填p==NULL。
(2)空是插入头节点的特殊情况,应填pC->next=C->head->next。
由注释可知空(4)是删除操作,需调用Del函数,进一步确定实参。此处需要删除节点t,结合Del函数的说明,实参p需要空指针(NULL)或t节点的前驱指针,由if(t->e>pC->e){tp =t;t=t->next;}可知,tp正是t节点的前驱指针,因此应填Del(C,tp)。由此也可以确定空(3),当需要删除头节点时,tp应是空指针,因此空(3)应填tp=NULL。
至于空(5),应填break。此时,节点p已正确处理完毕,应该结束while循环,而且必须终止,否则while循环结束后t值为NULL,将会错误地执行插入操作。
转载请注明原文地址:https://kaotiyun.com/show/ZgDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某高校人事管理系统中,规定讲师每课时的教学酬金不能超过100元,副教授每课时的教学酬金不能超过130元,教授每课时的教学酬金不能超过160元。这种情况下所设置的数据完整性约束条件称之为______。
以下对用户口令进行限定的措施中,(66)对提高安全性来说是无用的。
在.I/O设备与主机问进行数据传输时,CPU只需在开始和结束时作少量处理,而无需干预数据传送过程的是()方式。
若某计算机采用8位整数补码表示数据,则运算______将产生溢出。A.127+1B.-127-1C.-127+1D.127-1
系统可维护性的评价指标不包括______。
经测试发现某软件系统存在缓冲区溢出缺陷,针对这一问题,最可靠的解决方案是()。
假设实体集E1中的一个实体可与实体集E2中的多个实体相联系,E2中的一个实体只与E1中的一个实体相联系,那么E1和E2之间的联系类型为()。
某财务系统在使用过程中,因个人所得税政策变化,需修改计算工资的程序。这种修改属于______维护。
在面向对象技术中,(43)是一组具有相同结构、相同服务、共同关系和共同语义的(44)集合,其定义包括名称、属性和操作。(44)
《GB/T18905软件工程产品评价》标准中确定的通用评价过程包括:(55)。
随机试题
只有人民警察才能履行人民警察义务。()
A.小建中汤B.炙甘草汤C.桂枝人参汤D.桂枝甘草汤E.茯苓桂枝甘草大枣汤依据原文:“伤寒二三日,心中悸而烦者”,所用的方药是
下列关于全球城市区域的表述,准确的是()
海关事务担保期限在一般情况下,不得超过15天。()
投资部是基金管理公司管理基金投资的最高决策机构。()
甲、乙、丙、丁成立一有限合伙企业,其中甲、乙为普通合伙人,丙、丁为有限合伙人。1年后甲转为有限合伙人,丙转为普通合伙人。此前,合伙企业欠银行50万元,该债务直至合伙企业被宣告破产仍未偿还。下列有关对该50万元债务清偿责任的表述中,符合《合伙企业法》规定的是
根据《中华人民共和国宪法》的规定,下列不属于国务院行使的职权的是()。
教育心理学初创时期大致在()。
以下叙述中正确的是
BecauseIdrummerTonyWilliamspavedthewayforlaterjazz-fusionmusicians,heisconsidereda______ofthatstyle.
最新回复
(
0
)