1、从键盘依次输入6本图书信息(以顺序表存放),分别编写按书号、书名及价格等信息的查找方法,实现图书信息的查找。 说明:图书信息顺序表数据结构定义。
时间: 2024-02-11 21:04:30 浏览: 68
好的,这是您的问题:从键盘依次输入6本图书信息(以顺序表存放),分别编写按书号、书名及价格等信息的查找方法,实现图书信息的查找。 请问您的问题是什么?
回答您的问题,这是一个典型的查找算法问题,需要按照要求编写三个查找方法。首先,需要定义图书信息顺序表的数据结构,可以使用结构体来定义:
```
typedef struct {
int bookNo; // 书号
char bookName[30]; // 书名
float price; // 价格
} Book;
typedef struct {
Book data[6]; // 存放图书信息的数组,长度为6
int length; // 顺序表的长度,初始值为0
} SeqList;
```
然后,我们可以根据题目要求编写三个查找方法:
1. 按书号查找
```
int findByNo(SeqList L, int bookNo) {
for (int i = 0; i < L.length; i++) {
if (L.data[i].bookNo == bookNo) {
return i; // 返回找到的元素下标
}
}
return -1; // 找不到返回-1
}
```
2. 按书名查找
```
int findByName(SeqList L, char* bookName) {
for (int i = 0; i < L.length; i++) {
if (strcmp(L.data[i].bookName, bookName) == 0) {
return i; // 返回找到的元素下标
}
}
return -1; // 找不到返回-1
}
```
3. 按价格查找
```
int findByPrice(SeqList L, float price) {
for (int i = 0; i < L.length; i++) {
if (L.data[i].price == price) {
return i; // 返回找到的元素下标
}
}
return -1; // 找不到返回-1
}
```
这样,我们就可以根据不同的需求使用不同的查找方法来查找图书信息了。
阅读全文