题解 | #牛牛的书#
牛牛的书
https://www.nowcoder.com/practice/30bb969e117b4f6d934d4b60a2af7489
#include <stdio.h> typedef struct book { int price; char name[50]; }book_t; int main() { int n; while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to book_t book[n]; for (int i = 0; i < n; i++) { scanf("%s %d", book[i].name, &book[i].price); } for (int i = 1; i < n; i++) { for (int j = 0; j < n-i; j++) { if (book[j].price > book[j+1].price) { int p = book[j].price; char tmp[50]; strcpy(tmp, book[j].name); book[j].price = book[j+1].price; strcpy(book[j].name, book[j+1].name); book[j+1].price = p; strcpy(book[j+1].name, tmp); } } } for (int i = 0; i < n; i++) { printf("%s\n", book[i].name); } } return 0; }