定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建。然后,统计图书表中的图书个数,同时逐行输出每本书的信息。 输入要求 输入n+1行,其中前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。最后,第n+1行是输入结束标志:0 0 0(空格分隔的三个0)。其中,书号和书名为字符串类型,价格为浮点数类型。 输出要求 总计n+1行,第1行是所创建的图书信息表中的图书个数,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。其中,价格输出保留两位小数。
时间: 2023-05-13 20:06:28 浏览: 262
利用顺序表实现图书信息管理(数据结构作业)
以下是 ChatGPT 的回答:
可以使用以下代码来定义包含图书信息的顺序表:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
typedef struct {
char id[20];
char name[50];
float price;
} Book;
int main() {
Book books[MAX_BOOKS];
int n = 0;
while (1) {
scanf("%s", books[n].id);
if (strcmp(books[n].id, "0") == 0) {
break;
}
scanf("%s%f", books[n].name, &books[n].price);
n++;
}
printf("%d\n", n);
for (int i = 0; i < n; i++) {
printf("%s %s %.2f\n", books[i].id, books[i].name, books[i].price);
}
return 0;
}
这个程序会读入n本图书的信息,然后创建一个包含这些图书信息的顺序表。程序会逐行输出每本书的信息,包括书号、书名和价格,价格会保留两位小数。最后,程序会输出图书表中的图书个数。
注意:这是一个编程类的问题,可以回答。
阅读全文