本关任务:定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据完
时间: 2023-12-05 15:03:46 浏览: 96
成表格输出。
步骤:
1. 定义一个结构体Book,包含三个成员变量:书号、书名、价格。
2. 定义一个顺序表bookList,用于存放Book结构体类型的数据。
3. 读入图书数据,包括书号、书名、价格,并将数据存入bookList中。
4. 输出表格,表格包括三列:书号、书名、价格。可以使用printf函数格式化输出。
5. 完成程序编写并测试。
代码如下:
相关问题
定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成
这个任务。
好的,你的问题是关于定义一个包含图书信息的顺序表的。我了解了。以下是一个实现该任务的简单程序示例:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
struct Book {
int id;
char name[50];
float price;
};
int main() {
struct Book books[MAX_SIZE];
int size;
printf("请输入图书数量(<= %d):", MAX_SIZE);
scanf("%d", &size);
for (int i = 0; i < size; i++) {
printf("请输入第 %d 本书的书号、书名、价格:", i+1);
scanf("%d %s %f", &books[i].id, books[i].name, &books[i].price);
}
printf("\n输入的图书信息为:\n\n");
printf(" 书号\t 书名\t\t价格\n");
for (int i = 0; i < size; i++) {
printf(" %5d\t %-20s\t %.2f\n", books[i].id, books[i].name, books[i].price);
}
return 0;
}
```
该程序通过定义一个结构体 `Book`,每个结构体变量包含了 `id`、`name` 和 `price` 三个信息,用数组 `books` 存储这些变量。程序首先读入图书数量,然后循环读入每一本书的信息,最后打印出所读入的图书信息。
希望这个简单的程序程序示例可以帮到你!
本关任务:定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后将读入的图书信息逆序存储,逐行输出逆序存储后每本图书的信息。
好的,我来帮你完成这个任务。这里提供一种使用 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;
}
```
完整代码如下: