#include <stdio.h>
#include <string.h>//忘记哪个头文件了 不知道这个要不要加
#include <stdlib.h>
typedef struct
{
char buf[24];
int price;
}BOOK;
int main()
{
int num=0,i=0,j=0;
BOOK temp,*p;
scanf("%d",&num);
p=(BOOK *)calloc(num,sizeof(BOOK));
//判断是否堆区申请成功
if(p==NULL)
{
perror("calloc error\n");
}
//获取输入
for(i=0;i<num;i++)
{
scanf("%s %d",(p+i)->buf,&(p+i)->price);
}
//冒泡排序 价格 低->高输出
for(i=0;i<num-1;i++)
{
for(j=0;j<num-i-1;j++)
{
if((p+j)->price>(p+j+1)->price)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
//遍历价格排序后 的书名
for(i=0;i<num;i++)
{
printf("%s\n",(p+i)->buf);
}
if(p != NULL)
{
free(p);
p=NULL;
}
return 0;
}