#include #include using namespace std; typedef struct node { string id; string name; double price; struct node *next; } node, *book_list; void init_list(book_list *books) { *books = new node(); (*books)->next = NULL; } void create_from_end(book_list *books) { node *r = *books; node *s = new node(); do { cin >> s->id >> s->name >> s->price; if (s->id == "0" && s->name == "0" && s->price == 0) { r->next = NULL; } else { r->next = s; } r = r->next; } while (r != NULL); } void display(book_list *books) { while ((*books)->next != NULL) { *books = (*books)->next; cout << (*books)->id << " " << (*books)->name << " " << fixed << setprecision(2) << (*books)->price << endl; } } int main() { book_list *books; init_list(books); create_from_end(books); display(books); return 0; }