当前位置:嗨网首页>书籍在线阅读

28-编程练习

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

17.12 编程练习

1.修改程序清单17.2,让该程序既能正序也能逆序显示电影列表。一种方法是修改链表的定义,可以双向遍历链表。另一种方法是用递归。

2.假设 list.h (程序清单17.3)使用下面的 list 定义:

typedef struct list
{
     Node * head;   /* 指向list的开头 */
     Node * end;    /* 指向list的末尾 */
} List;

重写 list.c (程序清单17.5)中的函数以适应新的定义,并通过 films.c (程序清单17.4)测试最终的代码。

3.假设 list.h (程序清单17.3)使用下面的 list 定义:

#define MAXSIZE 100
typedef struct list
{
     Item entries[MAXSIZE];    /* 内含项的数组 */
     int items;                /* list中的项数 */
} List;

重写 list.c (程序清单17.5)中的函数以适应新的定义,并通过 films.c (程序清单17.4)测试最终的代码。

4.重写 mall.c (程序清单17.9),用两个队列模拟两个摊位。

5.编写一个程序,提示用户输入一个字符串。然后该程序把该字符串的字符逐个压入一个栈(参见复习题5),然后从栈中弹出这些字符,并显示它们。结果显示为该字符串的逆序。

6.编写一个函数接受3个参数:一个数组名(内含已排序的整数)、该数组的元素个数和待查找的整数。如果待查找的整数在数组中,那么该函数返回1;如果该数不在数组中,该函数则返回0。用二分查找法实现。

7.编写一个程序,打开和读取一个文本文件,并统计文件中每个单词出现的次数。用改进的二叉查找树存储单词及其出现的次数。程序在读入文件后,会提供一个有3个选项的菜单。第1个选项是列出所有的单词和出现的次数。第2个选项是让用户输入一个单词,程序报告该单词在文件中出现的次数。第3个选项是退出。

8.修改宠物俱乐部程序,把所有同名的宠物都存储在同一个节点中。当用户选择查找宠物时,程序应询问用户该宠物的名字,然后列出该名字的所有宠物(及其种类)。

20200312E66AE0B5.jpg