#include <stdio.h> #include<stdlib.h> typedef struct book { char name[20]; int price; } book; int sort(const void* p1, const void* p2) { return ((book*)p1)->price - ((book*)p2)->price; } int main() { int n = 0; scanf("%d", &n); book* pb = malloc(n * sizeof(book)); for (int i = 0; i < n; i++) { scanf("%s %d", pb[i].name, &(pb[i].price)); } qsort(pb, n, sizeof(book), sort); for (int i = 0; i < n; i++) { printf("%s\n", pb[i].name); } free(pb); pb=NULL; return 0; }