以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。[*]include<stdio.h>typedef struct node /*链表结点结构*/{char sub[3];struct node *next;}Node;Node fun(char s) /*建立链表*/{ … }void disp(Node *h){ Node *

题目

以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。[*]

include<stdio.h>

typedef struct node /*链表结点结构*/

{char sub[3];

struct node *next;

}Node;

Node fun(char s) /*建立链表*/

{ … }

void disp(Node *h)

{ Node *


相似考题
更多“以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有 ”相关问题
  • 第1题:

    给定程序中,函数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个元素中再挑出一个最小的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

  • 第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题:

    在以下几种存储结构中,哪个最适合用作链栈? (1)带头结点的单链表 (2)不带头结点的循环单链表 (3)带头结点的双链表。


    带头结点的单链表

  • 第4题:

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

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

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


    正确答案:(1)next (2)t->data (3)t
    (1)next (2)t->data (3)t 解析:fun函数的功能是输出链表尾部结点中的数据,并释放该结点,使链表缩短。由于链表是单向的,找到链表尾部结点需要利用循环从头结点开始查找,直至找到最后一个,找到之后输出尾部结点的数据,然后删除尾结点。

  • 第5题:

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

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

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

    试题程序:


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