用c语言定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息。
时间: 2023-06-06 08:08:37 浏览: 451
好的,这个问题属于编程问题,可以回答。下面是使用C语言定义一个包含图书信息的顺序表,并读入图书数据来创建图书信息表的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100 //定义最大的图书数量
#define MAX_NAME 50 //定义图书名称的最大长度
//定义图书结构体
typedef struct {
char id[20]; //书号
char name[MAX_NAME]; //书名
float price; //价格
} Book;
//定义顺序表结构体
typedef struct {
Book books[MAX_BOOKS]; //图书数组
int size; //当前图书数量
} BookList;
int main() {
BookList list; //创建图书顺序表
list.size = 0; //初始化图书数量为0
//读入图书信息
while (scanf("%s%s%f", list.books[list.size].id, list.books[list.size].name, &list.books[list.size].price) == 3) {
list.size++; //读入一本图书,图书数量加1
if (list.size >= MAX_BOOKS) { //如果图书数量超过最大值,退出循环
break;
}
}
//输出图书信息
for (int i = 0; i < list.size; i++) {
printf("书号: %s\n", list.books[i].id);
printf("书名: %s\n", list.books[i].name);
printf("价格: %.2f\n\n", list.books[i].price);
}
//输出图书数量
printf("图书总数为: %d\n", list.size);
return 0;
}
```
这段代码定义了一个包含图书信息的结构体和一个包含图书结构体的顺序表结构体,然后读入图书数据,逐行输出图书信息,并统计图书数量。如果需要,可以修改代码适配输入的格式。
阅读全文