给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

题目

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANKl.C中。

不得增行或删行,也不得更改程序的结构!


相似考题
更多“ 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出”相关问题
  • 第1题:

    给定程序中,函数fun的功能是计算下式

    例如,若形参e的值为1e-3,函数的返回值2.985678。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)0 (2)i++ (3)2.0*i
    (1)0 (2)i++ (3)2.0*i 解析:函数fun的功能是求级数和,观察可知,级数项有规律变化,可以用循环来累加求和。

  • 第2题:

    给定程序modil.c的主函数中,将a.b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun( )的作用是:累加链表结点数据域中的数据作为函数值返回。

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:


    正确答案:
    (1)intt;改为intt=0;(2)*P改为P或者P!=NULL(3)P.data改为P->data【考点分析】主要考察考生对于操作符.与->的异同的理解,指针只能有->,数组元素可以有.或者->。【解题思路】(1)intt;改为intt=0;题目中变量t是用来存放累加和的,必须初始化。(2)*P改为P或者P!=NULL,题目中*P是结构体,不能转化为bool型;(3)P.data改为P->data,P是指针,只能用P->,不能用P。

  • 第3题:

    下列给定程序是建立一个带头结点的单向链表,并用随 机函数为各结点赋值。函数fun的功能是将单向链表结点 (不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。

    请改正函数fun中的错误,使它能得出正确的结果。

    注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:
    【参考答案】(1)while(P)或while(P!=NULL)(2)P=P一>next;【解题思路】(1)判断当前指针P指向的结点是否存在,若存在则对该结点数据域进行判断操作,而不是判断P指针的指针域是否为空。(2)判断结束后指针指向下一个结点。

  • 第4题:

    给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!


    正确答案:(1)p->next (2)q (3)p->next
    (1)p->next (2)q (3)p->next 解析:本题中函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序,在fun函数内采用的是选择法排序。
    选择排序法中的升序排序,首先从数组中挑选一个最小的元素,把它和第一元素交换,接着从剩下的n-1个元素中再挑出一个最小的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

  • 第5题:

    给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置O)。

    请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

    注意:部分源程序在文件BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:
    (1)N或20(2)break(3)n【解题思路】填空l:变量n用于存储数组的下标,要通过while语句对数组进行赋值,数组的容量为20,因此循环条件应为n<20。填空2:通过一个for循环判断X是否与数组中已存的元素重复,若重复则跳出for循环结束。填空3:若for循环是由break语句结束的,则X与数组中的元素重复,此时i必然小于n;若for循环是因为循环变量i递增到某值,而不再满足循环条件结束的,说明X的值与数组中的元素不重复,则此时i的值等于n。