首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。 [说明] 以下[C程序]完成从指定数据文件中读入职工的工号和他完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按表5-22所示的格式输出职工完成
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。 [说明] 以下[C程序]完成从指定数据文件中读入职工的工号和他完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按表5-22所示的格式输出职工完成
admin
2010-01-15
54
问题
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。
[说明]
以下[C程序]完成从指定数据文件中读入职工的工号和他完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按表5-22所示的格式输出职工完成产品数量的名次(ORDER)。该名次是按每位职工完成的产品数量(QUANTITY)排序,之后同一名次的职工人数(COUNT)和他们的职工号(NUMBER,同一名次的职工号以从小到大的顺序输出)。
以下[C程序]采用链表结构存储有关信息,链表中的每个表元对应一位职工。在数据输入同时,形成一个有序链表(按完成的产品数量和工号排序)。当一个职工有新的数据输入,在累计他的完成数量时会改变原来链表的有序性,为此应对链表进行删除、查找和插入等处理。
[C程序]
选项
答案
这是一道要求读者掌握有序链表的特点及其如何在有序链表上实现插入、删除、查找的操作的程序分析题。本题的解答思路如下。 仔细阅读[C程序]可知,该程序代码采用链表结构存储有关信息,链表中的每个结点对应一位职工。在数据输入时,形成一个有序链表(按完成的产品数量和工号排序)。当一个职工有新的数据输入,在累计该职工的完成数量时会改变原来链表的有序性,因此需要对链表中的结点重新进行排序。而对程序的排序操作可以看成是一组查找、删除、插入操作的组合操作,这组操作又和链表的特点密切相关。 链表是用一组任意的存储空间来依次存放线性表中的数据元素及其元素之间关系的存储结构。由于链表的存储空间是在程序运行的过程中动态分配的,需要一个个分配一个存储空间,因此无须事先估计存储空间大小,也不会出现存储空间的浪费,并能够使存储器中的碎片充分地得到利用,但是存储空间的地址不一定连续。 用链表表示一个数据结构时,为了表示数据元素之间的逻辑关系,每个数据元素的存储空间都包括数据域和指针域两个部分。数据域用来存放数据元素本身的值,指针域用来存放和该数据元素存在某种逻辑关系的其他元素的地址(或对应数组的下标),从而通过指针域中的指针指示数据元素之间的逻辑关系。 在链表结构中进行插入和删除运算不需要移动数据元素,只需修改数据元素的指针域的地址就可以建立元素之间新的逻辑关系。由于这种结构失去了随机存取的特性,只能依照链接顺序访问,存取效率不高,因此不适合进行查找运算。 本试题函数proc()完成的功能是从给定的数据文件中输入职工的工号(即fscanf (fp, "%d",&n) ;)和该职工完成的产品数量信息(即fscanf(fp, "%d", &m); ),从而形成一个按照产品数量和工号排序的职工有序链表。例如输入一个工号为n的职工的全部信息后,就利用指针v从链表的首结点开始顺序搜索满足条件(即工号等于n)的结点,这个过程依赖for循环语句(即for(v=base v!=NULL&&v->no!=n; u=v, v=v->next); )的实现。当循环条件v!=NULL且v->no!=n为真时,说明指针v指向的当前结点存在但却不是满足条件的结点,所以指针v通过语句u=v, v=v->next实现向后移动,继而指向下一个结点,然后再重复上述的判断、移动过程,直到找到满足条件的结点或确定链表中根本不存在这样的结点为止。由于这两种结果不能同时发生,所以for循环后的if-else条件语句,先要对上述查找过程可能产生的两种结果做出选择,然后再决定继续执行的操作。又由于 if条件为真的情况下,要执行的复合语句中包含累计产品数量的语句(即v->q+m; ),所以可判断出程序首先是对链表中存在的刚输入职工的工号的情况进行处理,因此(1)空缺处所填写的内容是“v!=NULL&&v->no==n”或其他等价形式。 根据上述链表中存在刚输入职工工号的情况,则需要重新对该工号职工进行产品数量的累计,从而改变原来链表的有序性,为此应该对链表中的结点重新进行排序。那么,该程序的排序操作可以看成是一组删除、查找、插入操作的组合操作。 首先,将链表中满足条件(即工号为n)的结点v删除。删除分为两种情况:①当删除的结点是链表的首结点,即v与base同指向一个结点时,需改变链表的头指针,让它指向首结点的直接后继结点,因此(2)空缺处所填写的内容是“v==base”或其他等价形式;②当删除的结点是链表中的其他结点时,需改变链表中要删除结点的直接前驱结点的后继指针。 其次,在有序链表中为上述被删除的结点v寻找合适的插入位置。插入位置是根据待插入的结点(即上述被删除的结点)中产品累计数量的多少,以及工号的大小与链表中现存结点进行比较确定的。根据它们的比较结果,插入位置可以有以下3种情况(令指针p指向链表中正在与待插入结点进行比较的结点,而指针u用来指向其直接前驱结点)。 ①指针p所指向结点的q值(即产品累计数量)小于待插入结点v的q值(即产品累计数量),于是将结点v插入到p所指向的结点之前。 ②指针p所指向结点的q值与待插入结点v的q值相等,但前者的no值(即工号)大于后者的no值,于是将结点v插入到p所指向的结点之前。 ③指针p所指向结点的q值比待插入结点v的q值都大,于是一直向后寻找,直到p==NULL为止,这时指针u指向链表中的最后一个结点,因而将结点v插入到链表的尾部,即成为结点U的直接后继。 由以上分析可知,(3)空缺处所填写的内容是“p->q<v->q‖p->q==v->q&&p->no>n->no”或其他等价形式。由于以上分析中前两种情况都属于在指针p所指向结点之前插入结点v,因此要考虑一个关键的插入位置,以及是否在首结点之前插入,即(4)空缺处所填写的内容是“p==base”或其他等价形式,(5)空缺处所填写的内容是“v->next=p”或其他等价形式。 函数output()完成的功能是按照指定的格式输出。(6)空缺处所在的for循环实现了相同q值的结点个数的统计,这些结点按照工号从小到大的顺序形成一个有序链表段。为了使表达式正确计算,(6)空缺处需要填入“v!=NULL&&v->q==u->q”或其他等价形式。 由于(7)空缺处所在的for循环实现了有相同产品个数的职工工号的顺序输出,因此(7)空缺处所填写的内容是“count--!=0(或u!=v)”或其他等价形式。
解析
转载请注明原文地址:https://kaotiyun.com/show/lMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
假设段页式存储管理系统中的地址结构如下图所示,则系统中()。
以下属于测试停止依据的是______。①测试用例全部执行结束②测试覆盖率达到要求③测试超出了预定时间④查出了预定数目的故障⑤执行了预定的测试方案⑥测试时间不足
以下关于模块耦合关系的叙述中,耦合程度最低的是__________(39),其耦合类型为___________(40)耦合。(39)
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
以下关于信息安全的叙述,不正确的是______。A.SYN洪水攻击通过发送大量TCP连接请求以占满网络带宽,使其他用户无法正常连接服务B.缓冲区溢出攻击能通过修改函数返回地址并执行恶意代码,进而获得系统的控制权C.计算机病毒的主要特征包括破坏性、寄生
某公司采用的软件开发过程通过了CMM2认证,表明该公司(30)。
以下关于汇编语言的叙述中,错误的是______。A.汇编语言源程序中的指令语句将被翻译成机器代码B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段C.汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出D.汇编程序先将源程序中的
POP3协议采用(29)模式进行通信,当客户机需要服务时,客户端软件与POP3服务器建立(30)连接。(29)
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。②处应填入?
假设系统有n(n≥6)个并发进程共享资源R,且资源R的可用数为3。若采用PV操作,则相应的信号量S的取值范围应为________________。
随机试题
A.突发性心律失常、头痛、头晕、乏力、便秘B.黑色大便、可逆性精神失常C.便秘、恶心、口干、腹泻、皮疹D.肝损伤、性功能减退、腹泻、头痛、嗜睡、疲乏E.腹胀、高钙血症、肾结石、便秘硫糖铝的主要不良反应为()
医疗机构制剂配制监督管理是指()。
本案被告是:
某剧场音乐厅见图1总建筑面积1.8×104m2,由演奏大厅、室内乐厅、流行音乐厅和其他附属设施组成,设置音乐沙龙、音乐广场、录音棚、培训琴房、贵宾厅、化妆间、观众休息厅等配套设施,交响乐大厅、观众厅台设有池座和两层楼座,总1303座。未划分防火分区。
由于目前缺乏相关法律支撑,城管在行使集中行政处罚权的过程中面临许多问题和困惑,目前涉及城市管理的法律法规多达50多部,但没有一部专门针对城市管理的独立法律法规,相互之间缺乏系统性和连贯性,到底该怎么管,没有一个标准,这给城管的实际工作带来诸多不便。根据文意
“爱美之心,人皆有之”。通过整容可以立刻获得的外在美,能满足人们对“美”的急切愿望,为走进人群加深交往带来自信,这无可厚非,也是事实。但如果一味强调“好看”,而忽视了人品、学识、实力等方面的积累,只有外在美,没有内在美,就可能适得其反。对全社会来说,一旦相
一个垄断企业面临两个分离的市场。市场1的需求函数为q1=10-p1,市场2的需求函数为q2=10-2p2。垄断厂商生产的边际成本为1,不存在固定成本。(2013年中央财经大学803经济学综合)假定垄断厂商可以实施第三级价格歧视。求两个市场利润最大化时的
(2008年真题)新中国建立初期,不重视法律作用和不依法办事的主要原因有
在ISO/OSI七层参考模型中,各个层都提供了自己的网络安全服务。其中,物理层采用(26)加强通信线路的安全;数据链路层采用(27)进行链路加密;网络层采用(28)来处理信息内外网络边界流动和建立透明的安全加密信道;传输层主要解决进程到进程间的加密,最常见
Americanstodaydon’tplaceaveryhighvalueonintellect.Ourheroesareathletes,entertainers,andentrepreneurs,notschola
最新回复
(
0
)