#include <stdio.h>
#include <stdlib.h>
typedef struct Book {
char number[20];
char name[50];
float price;
struct Book* next;
} Book;
int main() {
int count = 0;
Book* head = NULL;
Book* tail = NULL;
while (1) {
Book* newBook = (Book*)malloc(sizeof(Book));
scanf("%s", newBook->number);
if (newBook->number[0] == '0' && newBook->number[1] == '0' && newBook->number[2] == '0') {
free(newBook);
break;
}
scanf("%s%f", newBook->name, &(newBook->price));
newBook->next = NULL;
if (head == NULL) {
head = newBook;
tail = newBook;
} else {
tail->next = newBook;
tail = newBook;
}
count++;
}
printf("%d\n", count);
Book* current = head;
while (current != NULL) {
printf("%s %s %.2f\n", current->number, current->name, current->price);
current = current->next;
}
current = head;
while (current != NULL) {
Book* temp = current;
current = current->next;
free(temp);
}
return 0;
}