题目详情

阅读以下说明和C语言函数,将应填入 (n) 处的宇句写在答题纸的对应栏内。

【说明】

  函数bool Del_elem(STACK *s,char para_ch)的功能是:删除栈*s中与para_ch之值相等且最接近栈项的元素(字符),若栈中不存在该元素,则函数返回FALSE,否则返回TRUE。其中,STACK是栈的类型名。

  函数Del_elem实现上述功能的方法是:利用栈的基本操作,先将栈*s中所有比para_ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para_ch之值相等的元素,最后再将s_bak中的元素依次存回栈*S。

  在函数Del_elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的函数原型说明如下:

  void InitStack(STACK *S):初始化栈。

  void Push(STACK *S,char e):将一个字符压栈,栈中元素数目增1。

  void Pop(STACK *S):栈顶元素出栈,栈中元素数目减1。

  char Top(STACK S):返回非空栈的栈顶元素值,栈中元素数目不变。

  bool IsEmpty(STACK s):若S是空栈,则返回TRUE;否则返回FALSE。

  bool类型定义如下:

  typedef enum {FALSE = 0,TRUE = 1} bool;

【C语言函数】

  bool Del_elem(STACK *s,char para_ch)

  {

    STACK s_bak; /*定义临时工作栈s_bak*/

    char ch;

    bool tag = FALSE;

    (1) ; /*中初始化临时工作栈s_bak*/

  /*中将栈*s中所有比para_ch更接近栈顶的元素暂时存放在临时工作栈s_bak中*/

    while(!IsEmpty(*S)) {

    ch = (2) ; /*取栈顶元素*/

    Pop(s);

    if (ch == para_ch) {

    tag = TRUE;

    break;

    }

    (3) ;

  }

  /*将暂存于临时工作栈s_bak中的元素存回栈*S */

    while ( (4) ) {

    ch = Top(s_bak);

    (5) ;

    Push(s, ch);

  }

    return tag;

  }

正确答案及解析

正确答案
解析

初级程序员,章节练习,基础复习,案例分析

你可能感兴趣的试题

单选题

一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )

  • A.202.123.25.0
  • B.202.123.25.255
  • C.202.123.24.0
  • D.202.123.24.255
查看答案
单选题

在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。

  • A.电子邮件
  • B.硬盘
  • C.U盘
  • D.ROM
查看答案
单选题

有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()

  • A.201.117.15.254 和 201.117.17.01
  • B.201.117.17.01 和 201.117.24.5
  • C.201.117.15.254 和 201.117.29.3
  • D.201.117.24.5 和 201.117.29.3
查看答案
单选题

在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。

  • A.50波特
  • B.500波特
  • C.550波特
  • D.1000波特
查看答案
单选题

在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。

Pinging 59.74.111.8 with 32 bytes of data:

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Ping statistics for 59.74.111.8:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 3ms, Maximum = 5ms, Average = 4ms

  • A.该命令使得本地主机向目标主机发送了 4 个数据包
  • B.本地主机成功收到了目标主机返回的 4 个数据包
  • C.本地主机与目标主机连接正常
  • D.该命令用于查看目标主机的 IP 地址
查看答案

相关题库更多 +