本关任务:定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后将读入的图书信息逆序存储,逐行输出逆序存储后每本图书的信息。
时间: 2023-12-23 14:05:09 浏览: 185
好的,我来帮你完成这个任务。这里提供一种使用 C++ 语言实现的方法。
首先,我们需要定义一个结构体来表示每一本书的信息:
```cpp
struct Book {
int id; // 书号
string name; // 书名
double price; // 价格
};
```
接下来,我们可以使用数组来实现顺序表,并且定义一个函数来读入图书数据:
```cpp
const int MAXN = 1000; // 最大存储容量
int n; // 图书数量
Book books[MAXN]; // 图书信息表
void readBooks() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> books[i].id >> books[i].name >> books[i].price;
}
}
```
然后,我们需要将读入的图书信息逆序存储。可以使用双指针法来实现:
```cpp
void reverseBooks() {
int left = 0, right = n - 1;
while (left < right) {
swap(books[left], books[right]);
left++;
right--;
}
}
```
最后,逐行输出逆序存储后每本图书的信息:
```cpp
void printBooks() {
for (int i = 0; i < n; i++) {
cout << books[i].id << " " << books[i].name << " " << books[i].price << endl;
}
}
```
现在,我们可以在主函数中调用这些函数来完成任务:
```cpp
int main() {
readBooks();
reverseBooks();
printBooks();
return 0;
}
```
完整代码如下:
阅读全文