定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息。
时间: 2023-05-31 20:18:09 浏览: 290
### 回答1:
顺序表结构体定义:
```
struct Book {
int bookNo;
char bookName[50];
float price;
}
```
读入数据并建立顺序表:
```
int main() {
struct Book books[100];
int n, i;
printf("请输入图书数量: ");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d本图书的书号、书名、价格: ", i+1);
scanf("%d%s%f", &books[i].bookNo, books[i].bookName, &books[i].price);
}
printf("图书总数: %d\n", n);
for (i = 0; i < n; i++) {
printf("第%d本图书的信息: 书号: %d, 书名: %s, 价格: %.2f\n", i+1, books[i].bookNo, books[i].bookName, books[i].price);
}
return 0;
}
```
### 回答2:
图书信息表可以通过顺序表来实现,顺序表中存储着图书的编号、名称和价格等信息,下面是创建顺序表的简单步骤:
1. 定义一个结构体来表示图书信息,例如:
```
struct Book {
int id;
char name[50];
float price;
};
```
2. 定义顺序表的结构体,包含存储图书信息的数组、顺序表的长度和容量等信息,例如:
```
struct SeqList {
Book data[100];
int length;
int capacity;
};
```
3. 初始化顺序表,即将顺序表的长度设为0,容量设为100等初值,例如:
```
SeqList bookList;
bookList.length = 0;
bookList.capacity = 100;
```
4. 读入图书信息,可以通过循环来完成,每一轮读入一个图书信息,并将其添加到顺序表中,例如:
```
for (int i = 0; i < n; i++) {
Book book;
scanf("%d%s%f", &book.id, book.name, &book.price);
bookList.data[i] = book;
bookList.length++;
}
```
其中n为要读入的图书个数。
5. 统计图书数量,即为顺序表的长度,例如:
```
int count = bookList.length;
```
6. 逐行输出每本图书的信息,可以通过循环来实现,例如:
```
for (int i = 0; i < bookList.length; i++) {
printf("%d %s %.2f\n", bookList.data[i].id, bookList.data[i].name, bookList.data[i].price);
}
```
综上,通过以上步骤即可定义一个包含图书信息的顺序表,并实现读入图书数据、统计图书数量以及逐行输出图书信息的功能。
### 回答3:
顺序表是一种线性数据结构,基于数组实现,它的特点是可以随机存取。在这个问题中,我们需要定义一个包含图书信息的顺序表,其中每个元素包含三个字段:书号、书名和价格。首先,我们需要定义数据类型:
typedef struct {
int book_id;
char book_name[50];
float book_price;
} book;
接下来,我们需要读入各个图书的信息,并将它们存储到顺序表中。假设我们需要读入n本图书,那么我们定义一个长度为n的数组books,然后用一个循环读取每个图书的信息并将其存储到数组中:
int n;
scanf("%d", &n);
book books[n];
for (int i = 0; i < n; i++) {
scanf("%d%s%f", &books[i].book_id, books[i].book_name, &books[i].book_price);
}
读入图书信息后,我们可以统计图书表中的图书个数并逐行输出每本图书的信息。假设我们要输出每本图书的信息,包括书号、书名和价格,那么我们可以使用一个循环遍历整个顺序表,并输出每个元素的信息:
printf("总共有%d本图书:\n", n);
for (int i = 0; i < n; i++) {
printf("%d %s %.2f\n", books[i].book_id, books[i].book_name, books[i].book_price);
}
这样,我们就成功地定义了一个包含图书信息的顺序表,并可以读入数据、统计图书个数和逐行输出每本图书的信息。