首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 当一元多项式aixi中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指数和对应系数。 为了便于进行运算,用带头节点的单链表存储,头节点中存储多
阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 当一元多项式aixi中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指数和对应系数。 为了便于进行运算,用带头节点的单链表存储,头节点中存储多
admin
2009-02-15
76
问题
阅读下列函数说明、图和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://www.kaotiyun.com/show/ZgDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(33)天。活动BC和BF分别最多可以晚开始(34)天而不会影响整个项目的进度。(33)
在机器指令的地址字段中,直接指出操作数本身的寻址方式称为___________。
某系统中仅有5个并发进程竞争某类资源一且都需要该类资源3个,那么该类资源至少有()个,才能保证系统不会发生死锁。
(16)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则___________(41)是一个大项堆结构,该堆结构用二叉树表示,其高度(或层数)为___________(42)。(42)
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(39)
POP3协议采用___________(23)模式,客户端代理与POP3服务器通过建立___________(24)连接来传送数据。(24)
()不属于程序的基本控制结构。
设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。学生实体Students中的“
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
随机试题
中国红色政权能够存在和发展的关键性的主观条件是()。
与幼儿神经系统成熟有关的是
患者,女,25岁,已婚。胃脘隐痛,饥不欲食,口燥咽干,大便干结,舌红少津,脉细数。其病机是
26岁,女性,停经45天,突感下腹坠痛及肛门坠胀感,少量阴道流血及头晕呕吐半天。体格检查:面色苍白,BP80/40mmHg,腹肌略紧张,下腹压痛。妇科检查:阴道少量血性物,宫颈举痛(+),后穹隆饱满,子宫稍大,附件区触诊不满意。本例最可能的诊断是
自2006年3月1日起,对于( )行业的营业税纳税人不用按照《营业税纳税人纳税申报办法》进行纳税申报。
下列各项中属于事业单位财政补助收入的有()。
【资料】唐老师是小学语文教师,在一次批改学生听写作业后,发现学生掌握得不好,于是让学生复习后再次对相同内容进行听写,但仍然有部分学生听写效果非常差,唐老师就让这部分学生在课间抄写听写内容30遍。为什么()
Incalculatingthedailycalorierequirementsforanindividual,variationsinbodysize,physicalactivityandageshouldbe___
Todaywomenearnalmost60percentofallbachelor’sdegreesandmorethanhalfofmaster’sandPh.D.’s.Manypeoplebelieveth
TextbooksintheU.S.aresoexpensivethatevenusedversionscangivestudentsasharppaininthewalletThe7theditionofF
最新回复
(
0
)