C语言实现图书结构体操作:输入、输出及管理功能

需积分: 10 0 下载量 58 浏览量 更新于2024-09-06 收藏 4KB TXT 举报
"C_BookStruct.txt 是一个C语言源代码文件,主要涉及图书结构体数组的操作,包括创建、输入、输出、插入、删除、查找最大价格、计算平均价格、排序以及删除重复图书等功能,适合C语言初学者学习。" 在给定的代码中,我们首先看到一个结构体 `tagbook`,它定义了图书的基本信息,包含三个成员:`num` 用于存储图书的ISBN,`name` 存储图书名称,`price` 存储图书价格。`typedef` 关键字被用来为这个结构体创建一个别名 `Book`,使得在后续的代码中可以更方便地引用。 接着,文件定义了一系列与图书结构体操作相关的函数: 1. `input(Book book[], int n)`:这个函数用于输入n本书的信息。它通过循环读取用户输入的每本书的ISBN、名称和价格,并存储到数组 `book` 中。 2. `output(Book book[], int n)`:输出函数,遍历数组 `book` 并打印每本书的ISBN、名称和价格。每本书的信息之间用换行符分隔,最后一本书之后不加换行符。 3. `insert(Book* L, int* m, int index, Book book)`:在指定位置 `index` 插入一本新的图书到数组中,并更新数组长度 `*m`。此函数可能需要调整数组大小以适应新的元素。 4. `del(Book* L, int* m, int index)`:删除数组中指定位置 `index` 的图书,并更新数组长度 `*m`。 5. `MaxPrice(Book* L, int n)`:找到数组中价格最高的图书。 6. `avg(Book* L, int n)`:计算所有图书的平均价格。 7. `Sort(Book* L, int n)`:对图书数组进行排序,可能采用了某种排序算法,如冒泡排序、选择排序或快速排序。 8. `reverse(Book* L, int n)`:反转图书数组,使数组中的顺序相反。 9. `del_same(Book* L, int* m)`:删除数组中重复的图书,确保每个图书只出现一次。 在 `main()` 函数中,用户通过标准输入 `cin` 提供图书的数量 `n`,然后调用 `input()` 输入图书信息,调用 `del_same()` 删除重复的图书,输出剩余的图书数量 `n`,再调用 `output()` 打印所有图书信息。整个程序设计简洁明了,为学习C语言的数据结构和基本操作提供了很好的示例。